import * as t from 'io-ts' ; export interface CustomLinkES { id ? : string ; '@timestamp' ? : number ; label : string ; url : string ; 'service.name' ? : string [ ] ; 'service.environment' ? : string [ ] ; 'transaction.name' ? : string [ ] ; 'transaction.type' ? : string [ ] ; } export const filterOptionsRt = t . partial ( { 'service.name' : t . string , 'service.environment' : t . string , 'transaction.name' : t . string , 'transaction.type' : t . string , } ) ; export const payloadRt = t . intersection ( [ t . type ( { label : t . string , url : t . string , } ) , t . partial ( { id : t . string , filters : t . array ( t . type ( { key : t . union ( [ t . literal ( '' ) , t . keyof ( filterOptionsRt . props ) ] ) , value : t . string , } ) ) , } ) , ] ) ;