import { Result } from "../result"; import { TypedKind } from "../kind"; import { Projection, Type, TypeImpl } from "../type"; export declare class MapType extends TypeImpl> { readonly keyType: TypedKind; readonly valueType: TypedKind; constructor(k: Type, 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 map(k: Type, v: Type): MapType;