import type { PropType, ExtractPropTypes } from 'vue';
export type Position = 'top' | 'left' | 'right' | 'bottom';
export type Trigger = 'hover' | 'click';
export interface ReadTipRule {
    id?: string;
    key?: string;
    selector: string | null;
    trigger?: Trigger;
    title?: string;
    content?: string;
    showAnimate?: boolean;
    mouseenterTime?: number;
    mouseleaveTime?: number;
    position?: Position;
    overlayClassName?: string;
    appendToBody?: boolean;
    status?: boolean;
    dataFn?: ({ element, rule, }: {
        element: any;
        rule: any;
    }) => {
        title?: string;
        content?: string;
    };
}
export type ReadTipRules = ReadTipRule | ReadTipRule[];
export type DefaultTemplateProps = {
    title?: string;
    content?: string;
    selector?: string;
    position?: string;
    id?: string;
    temp?: string;
    dom?: Element;
    contentTemplate?: boolean;
    overlayClassName?: string;
    dataFn?: ({ element, rule, }: {
        element: any;
        rule: any;
    }) => {
        title?: string;
        content?: string;
    };
    appendToBody?: boolean;
};
export interface ReadTipOptions {
    trigger?: Trigger;
    showAnimate?: boolean;
    mouseenterTime?: number;
    mouseleaveTime?: number;
    position?: Position;
    overlayClassName?: string;
    appendToBody?: boolean;
    rules: ReadTipRules;
}
export declare const readTipProps: {
    readonly readTipOptions: {
        readonly type: PropType<ReadTipOptions>;
    };
    readonly defaultTemplateProps: {
        readonly type: PropType<DefaultTemplateProps>;
    };
};
export type ReadTipProps = ExtractPropTypes<typeof readTipProps>;
