import * as t from 'io-ts' ; import { EmptyStringArray , EmptyStringArrayDecoded , NonEmptyStringArray , StringToPositiveNumber , } from '@kbn/securitysolution-io-ts-types' ; import { DefaultNamespaceArray , DefaultNamespaceArrayTypeDecoded , } from '../../common/default_namespace_array' ; import { RequiredKeepUndefined } from '../../common/required_keep_undefined' ; import { sort_field } from '../../common/sort_field' ; import { sort_order } from '../../common/sort_order' ; export const findExceptionListItemSchema = t . intersection ( [ t . exact ( t . type ( { list_id : NonEmptyStringArray , } ) ) , t . exact ( t . partial ( { filter : EmptyStringArray , namespace_type : DefaultNamespaceArray , page : StringToPositiveNumber , per_page : StringToPositiveNumber , sort_field , sort_order , } ) ) , ] ) ; export type FindExceptionListItemSchema = t . OutputOf < typeof findExceptionListItemSchema > ; export type FindExceptionListItemSchemaDecoded = Omit < RequiredKeepUndefined < t . TypeOf < typeof findExceptionListItemSchema > > , 'namespace_type' | 'filter' > & { filter : EmptyStringArrayDecoded ; namespace_type : DefaultNamespaceArrayTypeDecoded ; } ;