import { Result } from "../result"; import { TypedKind } from "../kind"; import { Projection, Type, TypeImpl } from "../type"; export declare class SetType extends TypeImpl> { readonly valueType: TypedKind; constructor(v: Type); check(val: any): Result>; sliceResult(val: any): Result>; protected merge(type: TypedKind): TypedKind & R> | undefined; protected project(val: any): Projection>; } export declare function set(v: Type): SetType;