import { TSchema } from './tsSchema';
export declare const tCast_boolean: {
    type: "transformType";
    encodedTSchema: {
        type: "enum";
        options: ["true", "false"];
        required: true;
    };
    decodedTSchema: {
        type: "boolean";
        required: true;
    };
    required: true;
    syncDecoder: (value: any) => boolean;
    syncEncoder: (value: boolean) => "true" | "false";
};
export declare const tMinMaxString: (min: number, max: number) => {
    type: "string";
    required: true;
} & {
    validator: (val: string) => void;
};
export declare const tISOString: {
    type: "string";
    required: true;
} & {
    validator: (val: string) => void;
};
export declare const tToListIfNot: <T extends TSchema>(tSchema: T) => {
    type: "transformType";
    encodedTSchema: {
        type: "oneOf";
        options: [import("./generics").DeepWriteable<T>, import("./generics").DeepWriteable<{
            type: "array";
            items: T;
            required: true;
        }>];
        required: true;
    };
    decodedTSchema: {
        type: "array";
        items: T;
        required: true;
    };
    required: true;
    syncDecoder: (value: any) => any[];
    syncEncoder: (value: any[]) => any[];
};
export declare const tExtra: {
    minMaxNumber: (min: number, max: number) => {
        type: "number";
        required: true;
    } & {
        validator: (val: number) => void;
    };
    null_minMaxNum: (min: number, max: number) => {
        type: "number";
        validator: (val: number) => void;
        required: false;
    };
    ISOString: {
        type: "string";
        required: true;
    } & {
        validator: (val: string) => void;
    };
    null_ISOString: {
        type: "string";
        validator: (val: string) => void;
        required: false;
    };
    minMaxString: (min: number, max: number) => {
        type: "string";
        required: true;
    } & {
        validator: (val: string) => void;
    };
    null_minMaxString: (min: number, max: number) => {
        type: "string";
        validator: (val: string) => void;
        required: false;
    };
    toListIfNot: <T extends TSchema>(tSchema: T) => {
        type: "transformType";
        encodedTSchema: {
            type: "oneOf";
            options: [import("./generics").DeepWriteable<T>, import("./generics").DeepWriteable<{
                type: "array";
                items: T;
                required: true;
            }>];
            required: true;
        };
        decodedTSchema: {
            type: "array";
            items: T;
            required: true;
        };
        required: true;
        syncDecoder: (value: any) => any[];
        syncEncoder: (value: any[]) => any[];
    };
    null_toListIfNot: <T_1 extends TSchema>(arg: T_1) => {
        type: "transformType";
        encodedTSchema: {
            type: "oneOf";
            options: [import("./generics").DeepWriteable<T_1>, import("./generics").DeepWriteable<{
                type: "array";
                items: T_1;
                required: true;
            }>];
            required: true;
        };
        decodedTSchema: {
            type: "array";
            items: T_1;
            required: true;
        };
        syncDecoder: (value: any) => any[];
        syncEncoder: (value: any[]) => any[];
        required: false;
    };
};
export declare const tCast: {
    date: {
        type: "transformType";
        encodedTSchema: {
            type: "string";
            required: true;
        };
        decodedTSchema: {
            type: "any";
            required: true;
        };
        syncDecoder: (value: any) => Date;
        syncEncoder: (value: Date) => string;
        required: true;
    };
    null_date: {
        type: "transformType";
        encodedTSchema: {
            type: "string";
            required: false;
        };
        decodedTSchema: {
            type: "any";
            required: false;
        };
        syncDecoder: (value: any) => Date;
        syncEncoder: (value: Date) => string;
        required: false;
    };
    number: {
        type: "transformType";
        encodedTSchema: {
            type: "string";
            required: true;
        };
        decodedTSchema: {
            type: "number";
            required: true;
        };
        syncDecoder: (value: any) => number;
        syncEncoder: (value: number) => string;
        required: true;
    };
    null_number: {
        type: "transformType";
        encodedTSchema: {
            type: "string";
            required: false;
        };
        decodedTSchema: {
            type: "number";
            required: false;
        };
        syncDecoder: (value: any) => number;
        syncEncoder: (value: number) => string;
        required: false;
    };
    boolean: {
        type: "transformType";
        encodedTSchema: {
            type: "enum";
            options: ["true", "false"];
            required: true;
        };
        decodedTSchema: {
            type: "boolean";
            required: true;
        };
        syncDecoder: (value: any) => boolean;
        syncEncoder: (value: boolean) => "true" | "false";
        required: true;
    };
    null_boolean: {
        type: "transformType";
        encodedTSchema: {
            type: "enum";
            options: ["true", "false"];
            required: false;
        };
        decodedTSchema: {
            type: "boolean";
            required: false;
        };
        syncDecoder: (value: any) => boolean;
        syncEncoder: (value: boolean) => "true" | "false";
        required: false;
    };
    isoToJSDate: {
        type: "transformType";
        encodedTSchema: {
            type: "enum";
            options: ["true", "false"];
            required: true;
        };
        decodedTSchema: {
            type: "boolean";
            required: true;
        };
        syncDecoder: (value: any) => boolean;
        syncEncoder: (value: boolean) => "true" | "false";
        required: true;
    };
    null_isoToJSDate: {
        type: "transformType";
        encodedTSchema: {
            type: "enum";
            options: ["true", "false"];
            required: false;
        };
        decodedTSchema: {
            type: "boolean";
            required: false;
        };
        syncDecoder: (value: any) => boolean;
        syncEncoder: (value: boolean) => "true" | "false";
        required: false;
    };
};
