import { AllowedComponentProps } from 'vue';
import { ComponentCustomProps } from 'vue';
import { ComponentOptionsMixin } from 'vue';
import { DefineComponent } from 'vue';
import { ExtractPropTypes } from 'vue';
import type { Placement } from '@popperjs/core';
import { Placement as Placement_2 } from '@popperjs/core/lib/enums';
import type { PositioningStrategy } from '@popperjs/core';
import { PositioningStrategy as PositioningStrategy_2 } from '@popperjs/core/lib/types';
import { PropType } from 'vue';
import { VNodeProps } from 'vue';

declare type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};

export { Placement }

export declare const Popper: __VLS_WithTemplateSlots<DefineComponent<    {
content: {
type: PropType<string>;
};
offsetDistance: {
type: PropType<number>;
default: number;
};
transition: {
type: PropType<string>;
default: string;
};
disabled: {
type: PropType<boolean>;
default: boolean;
};
enterActiveClass: {
type: PropType<string>;
};
leaveActiveClass: {
type: PropType<string>;
};
placement: {
type: PropType<Placement_2>;
default: string;
};
trigger: {
type: PropType<"clickToOpen" | "clickToToggle" | "hover">;
default: string;
};
delayOnMouseOver: {
type: PropType<number>;
default: number;
};
delayOnMouseOut: {
type: PropType<number>;
default: number;
};
forceShow: {
type: PropType<boolean>;
default: boolean;
};
appendToBody: {
type: PropType<boolean>;
default: boolean;
};
visibleArrow: {
type: PropType<boolean>;
default: boolean;
};
arrowPadding: {
type: PropType<number>;
default: number;
};
enableFlip: {
type: PropType<boolean>;
default: boolean;
};
offsetSkidding: {
type: PropType<number>;
default: number;
};
stopPropagation: {
type: PropType<boolean>;
default: boolean;
};
preventDefault: {
type: PropType<boolean>;
default: boolean;
};
strategy: {
type: PropType<PositioningStrategy_2>;
default: string;
};
contentClass: {
type: PropType<string>;
};
}, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
created: () => void;
documentClick: () => void;
show: () => void;
hide: () => void;
}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<    {
content: {
type: PropType<string>;
};
offsetDistance: {
type: PropType<number>;
default: number;
};
transition: {
type: PropType<string>;
default: string;
};
disabled: {
type: PropType<boolean>;
default: boolean;
};
enterActiveClass: {
type: PropType<string>;
};
leaveActiveClass: {
type: PropType<string>;
};
placement: {
type: PropType<Placement_2>;
default: string;
};
trigger: {
type: PropType<"clickToOpen" | "clickToToggle" | "hover">;
default: string;
};
delayOnMouseOver: {
type: PropType<number>;
default: number;
};
delayOnMouseOut: {
type: PropType<number>;
default: number;
};
forceShow: {
type: PropType<boolean>;
default: boolean;
};
appendToBody: {
type: PropType<boolean>;
default: boolean;
};
visibleArrow: {
type: PropType<boolean>;
default: boolean;
};
arrowPadding: {
type: PropType<number>;
default: number;
};
enableFlip: {
type: PropType<boolean>;
default: boolean;
};
offsetSkidding: {
type: PropType<number>;
default: number;
};
stopPropagation: {
type: PropType<boolean>;
default: boolean;
};
preventDefault: {
type: PropType<boolean>;
default: boolean;
};
strategy: {
type: PropType<PositioningStrategy_2>;
default: string;
};
contentClass: {
type: PropType<string>;
};
}>> & {
onHide?: (() => any) | undefined;
onShow?: (() => any) | undefined;
onCreated?: (() => any) | undefined;
onDocumentClick?: (() => any) | undefined;
}, {
offsetDistance: number;
transition: string;
disabled: boolean;
placement: Placement_2;
trigger: "clickToOpen" | "clickToToggle" | "hover";
delayOnMouseOver: number;
delayOnMouseOut: number;
forceShow: boolean;
appendToBody: boolean;
visibleArrow: boolean;
arrowPadding: number;
enableFlip: boolean;
offsetSkidding: number;
stopPropagation: boolean;
preventDefault: boolean;
strategy: PositioningStrategy_2;
}, {}>, {
    reference?(_: {}): any;
    default?(_: {}): any;
}>;

export declare interface PopperProps {
    trigger?: 'clickToOpen' | 'clickToToggle' | 'hover';
    placement?: Placement;
    delayOnMouseOver?: number;
    delayOnMouseOut?: number;
    disabled?: boolean;
    content?: string;
    transition?: string;
    enterActiveClass?: string;
    leaveActiveClass?: string;
    forceShow?: boolean;
    appendToBody?: boolean;
    visibleArrow?: boolean;
    arrowPadding?: number;
    enableFlip?: boolean;
    offsetSkidding?: number;
    offsetDistance?: number;
    stopPropagation?: boolean;
    preventDefault?: boolean;
    strategy?: PositioningStrategy;
    contentClass?: string;
}

export { PositioningStrategy }

export { }
