import type { Placement } from '@popperjs/core';
import type { QPopoverPropTrigger, QPopoverPropPopperOptions, QPopoverPropTeleportTo, QPopoveInstance } from './src/types';
import type { DefineComponent, PropType, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes } from 'vue';
import type { SFCWithInstall } from '../../../types/helpers';
export declare const QPopover: SFCWithInstall<DefineComponent<{
    title: {
        type: StringConstructor;
        default: null;
    };
    trigger: {
        type: PropType<QPopoverPropTrigger>;
        default: string;
        validator: (value: QPopoverPropTrigger) => boolean;
    };
    placement: {
        type: PropType<Placement>;
        default: string;
        validator: (value: Placement) => boolean;
    };
    icon: {
        type: StringConstructor;
        default: null;
    };
    iconColor: {
        type: StringConstructor;
        default: string;
    };
    transition: {
        type: StringConstructor;
        default: string;
    };
    openDelay: {
        type: NumberConstructor;
        default: number;
    };
    closeDelay: {
        type: NumberConstructor;
        default: number;
    };
    minWidth: {
        type: (StringConstructor | NumberConstructor)[];
        default: null;
    };
    maxWidth: {
        type: (StringConstructor | NumberConstructor)[];
        default: null;
    };
    popperOptions: {
        type: PropType<QPopoverPropPopperOptions>;
        default: () => QPopoverPropPopperOptions;
    };
    teleportTo: {
        type: PropType<QPopoverPropTeleportTo>;
        default: string;
    };
}, QPopoveInstance, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("show" | "hide")[], "show" | "hide", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    title: {
        type: StringConstructor;
        default: null;
    };
    trigger: {
        type: PropType<QPopoverPropTrigger>;
        default: string;
        validator: (value: QPopoverPropTrigger) => boolean;
    };
    placement: {
        type: PropType<Placement>;
        default: string;
        validator: (value: Placement) => boolean;
    };
    icon: {
        type: StringConstructor;
        default: null;
    };
    iconColor: {
        type: StringConstructor;
        default: string;
    };
    transition: {
        type: StringConstructor;
        default: string;
    };
    openDelay: {
        type: NumberConstructor;
        default: number;
    };
    closeDelay: {
        type: NumberConstructor;
        default: number;
    };
    minWidth: {
        type: (StringConstructor | NumberConstructor)[];
        default: null;
    };
    maxWidth: {
        type: (StringConstructor | NumberConstructor)[];
        default: null;
    };
    popperOptions: {
        type: PropType<QPopoverPropPopperOptions>;
        default: () => QPopoverPropPopperOptions;
    };
    teleportTo: {
        type: PropType<QPopoverPropTeleportTo>;
        default: string;
    };
}>> & {
    onShow?: ((...args: any[]) => any) | undefined;
    onHide?: ((...args: any[]) => any) | undefined;
}, {
    icon: string;
    teleportTo: QPopoverPropTeleportTo;
    title: string;
    placement: Placement;
    popperOptions: QPopoverPropPopperOptions;
    trigger: QPopoverPropTrigger;
    iconColor: string;
    transition: string;
    openDelay: number;
    closeDelay: number;
    minWidth: string | number;
    maxWidth: string | number;
}>>;
export type { QPopoverProps, QPopoveInstance } from './src/types';
