import * as t from 'io-ts' ; import { DefaultVersionNumber , DefaultVersionNumberDecoded , } from '@kbn/securitysolution-io-ts-types' ; import { RequiredKeepUndefined } from '../../common/required_keep_undefined' ; import { name } from '../../common/name' ; import { description } from '../../common/description' ; import { type } from '../../common/type' ; import { deserializer } from '../../common/deserializer' ; import { id } from '../../common/id' ; import { meta } from '../../common/meta' ; import { serializer } from '../../common/serializer' ; export const createListSchema = t . intersection ( [ t . exact ( t . type ( { description , name , type , } ) ) , t . exact ( t . partial ( { deserializer , id , meta , serializer , version : DefaultVersionNumber , } ) ) , ] ) ; export type CreateListSchema = t . OutputOf < typeof createListSchema > ; export type CreateListSchemaDecoded = RequiredKeepUndefined < Omit < t . TypeOf < typeof createListSchema > , 'version' > > & { version : DefaultVersionNumberDecoded ; } ;