import * as t from 'io-ts' ; import { version } from '@kbn/securitysolution-io-ts-types' ; import { OsTypeArray , osTypeArrayOrUndefined } from '../../common/os_type' ; import { RequiredKeepUndefined } from '../../common/required_keep_undefined' ; import { Tags , tags } from '../../common/tags' ; import { NamespaceType } from '../../common/default_namespace' ; import { description } from '../../common/description' ; import { name } from '../../common/name' ; import { _version } from '../../common/underscore_version' ; import { exceptionListType } from '../../common/exception_list' ; import { id } from '../../common/id' ; import { list_id } from '../../common/list_id' ; import { meta } from '../../common/meta' ; import { namespace_type } from '../../common/namespace_type' ; export const updateExceptionListSchema = t . intersection ( [ t . exact ( t . type ( { description , name , type : exceptionListType , } ) ) , t . exact ( t . partial ( { _version , id , list_id , meta , namespace_type , os_types : osTypeArrayOrUndefined , tags , version , } ) ) , ] ) ; export type UpdateExceptionListSchema = t . OutputOf < typeof updateExceptionListSchema > ; export type UpdateExceptionListSchemaDecoded = Omit < RequiredKeepUndefined < t . TypeOf < typeof updateExceptionListSchema > > , 'tags | namespace_type' | 'os_types' > & { tags : Tags ; namespace_type : NamespaceType ; os_types : OsTypeArray ; } ;