import type { PropType } from 'vue';
export type calibrator = (val: any) => boolean;
export interface returnType<T, F> {
    readonly type: T;
    readonly default: () => F;
    readonly validator?: calibrator;
}
export declare const setStringNumberProps: <T extends string | number>(defaultVal?: T | undefined) => returnType<PropType<string | number>, string | number | null>;
export declare const setBooleanProps: (defaultVal?: boolean) => returnType<BooleanConstructor, boolean>;
export declare const setStringProp: <T extends string>(defaultVal?: T | null | undefined, validator?: calibrator) => returnType<PropType<T>, T | null>;
export declare const setNumberProps: <T extends number>(defaultVal?: T | null | undefined) => returnType<NumberConstructor, number | null>;
export declare const setObjectProps: <T extends object>(defaultVal?: T | undefined) => returnType<PropType<T>, T | undefined>;
export declare const setFunctionProps: <T extends Function>(defaultVal?: T | undefined) => returnType<PropType<T>, T | undefined>;
export declare const setArrayProps: <T>(defaultVal?: T[] | undefined) => returnType<PropType<T>, T[] | undefined>;
export declare const setFunction: <T extends Function>(defaultVal?: T | undefined) => returnType<PropType<T>, T | undefined>;
export declare const setColorProp: (color?: string | null) => {
    type: StringConstructor;
    default: () => string | null;
};
