import type { VueNode } from '@antdv/ui/es/types';
import type { Plugin, PropType } from 'vue';
export declare const tuple: <T extends string[]>(...args: T) => T;
export declare const tupleNum: <T extends number[]>(...args: T) => T;
export declare function withInstall<T>(comp: T): T & Plugin;
export declare function eventType<T>(): {
    type: PropType<T | T[]>;
};
export declare function objectType<T = {}>(defaultVal?: T): {
    type: PropType<T>;
    default: T;
};
export declare function booleanType(defaultVal?: boolean): {
    type: BooleanConstructor;
    default: boolean;
};
export declare function functionType<T = () => {}>(defaultVal?: T): {
    type: PropType<T>;
    default: T;
};
export declare function anyType<T = any>(defaultVal?: T, required?: boolean): {
    default: T;
    type: PropType<T>;
};
export declare function vNodeType<T = VueNode>(): {
    type: PropType<T>;
};
export declare function arrayType<T extends any[]>(defaultVal?: T): {
    type: PropType<T>;
    default: T;
};
export declare function stringType<T extends string = string>(defaultVal?: T): {
    type: PropType<T>;
    default: T;
};
export declare function someType<T>(types?: any[], defaultVal?: T): {
    type: PropType<T>;
    default: T;
};
