declare type Ctor = { name: string; prototype: A; }; declare type TypeToPrim = T extends "string" ? string : T extends "number" ? number : T extends "boolean" ? boolean : T extends "undefined" ? undefined : T extends "function" ? Function : never; declare type Primitives = "string" | "number" | "boolean" | "undefined" | "function"; export declare function coerce(ctor: Ctor, value: any): T; export declare function coercePrimitive(type: T, value: any): TypeToPrim; export declare function coerceArray(ctor: Ctor, value: any): T[]; export declare function coercePrimitiveArray(type: T, value: any): TypeToPrim[]; export {};