import type { Options } from '@popperjs/core';
import type { ButtonProps } from 'element-ps/es/components/button';
import type { Placement } from 'element-ps/es/components/popper';
import type { ComponentInternalInstance, ComputedRef } from 'vue';
import type { Nullable } from 'element-ps/es/utils';
export interface IPsDropdownInstance {
    instance?: ComponentInternalInstance;
    dropdownSize?: ComputedRef<string>;
    handleClick?: () => void;
    commandHandler?: (...arg: any[]) => void;
    show?: () => void;
    hide?: () => void;
    trigger?: ComputedRef<string>;
    hideOnClick?: ComputedRef<boolean>;
    triggerElm?: ComputedRef<Nullable<HTMLButtonElement>>;
}
export declare const dropdownProps: {
    readonly trigger: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<"hover" | "focus" | "click" | "contextmenu" | ("hover" | "focus" | "click" | "contextmenu")[]>, "hover", unknown, unknown, unknown>;
    readonly effect: {
        readonly default: "light";
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        readonly __elPropsReservedKey: true;
    };
    readonly type: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<import("element-ps/es/utils").BuildPropType<StringConstructor, "" | "default" | "primary" | "success" | "warning" | "info" | "danger" | "text", unknown>>, unknown, unknown, unknown, unknown>;
    readonly placement: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<Placement>, "bottom", unknown, unknown, unknown>;
    readonly popperOptions: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<Partial<Options>>, () => {}, unknown, unknown, unknown>;
    readonly size: import("element-ps/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
    readonly splitButton: BooleanConstructor;
    readonly hideOnClick: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
    readonly loop: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, unknown, unknown, unknown, unknown>;
    readonly showTimeout: import("element-ps/es/utils").BuildPropReturn<NumberConstructor, 150, unknown, unknown, unknown>;
    readonly hideTimeout: import("element-ps/es/utils").BuildPropReturn<NumberConstructor, 150, unknown, unknown, unknown>;
    readonly tabindex: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<string | number>, 0, unknown, unknown, unknown>;
    readonly maxHeight: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<string | number>, "", unknown, unknown, unknown>;
    readonly popperClass: import("element-ps/es/utils").BuildPropReturn<StringConstructor, "", unknown, unknown, unknown>;
    readonly disabled: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, false, unknown, unknown, unknown>;
    readonly buttonProps: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<ButtonProps>, unknown, unknown, unknown, unknown>;
    readonly offset: import("element-ps/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
    readonly showArrow: import("element-ps/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
};
export declare const dropdownItemProps: {
    readonly command: import("element-ps/es/utils").BuildPropReturn<readonly [ObjectConstructor, StringConstructor, NumberConstructor], () => {}, unknown, unknown, unknown>;
    readonly disabled: BooleanConstructor;
    readonly divided: BooleanConstructor;
    readonly textValue: StringConstructor;
    readonly icon: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>, unknown, unknown, unknown, unknown>;
};
export declare const dropdownMenuProps: {
    onKeydown: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<(e: KeyboardEvent) => void>, unknown, unknown, unknown, unknown>;
};
export declare const FIRST_KEYS: string[];
export declare const LAST_KEYS: string[];
export declare const FIRST_LAST_KEYS: string[];
declare const PsCollection: {
    name: string;
    setup(): void;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
    template?: string | object | undefined;
    render?: Function | undefined;
    components?: Record<string, import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>> | undefined;
    directives?: Record<string, import("vue").Directive<any, any>> | undefined;
    inheritAttrs?: boolean | undefined;
    emits?: (import("vue").EmitsOptions & ThisType<void>) | undefined;
    expose?: string[] | undefined;
    serverPrefetch?(): Promise<any>;
    compilerOptions?: import("vue").RuntimeCompilerOptions | undefined;
    call: (<T, A extends any[]>(this: new (...args: A) => T, thisArg: T, ...args: A) => void) & ((this: unknown, ...args: unknown[]) => never);
    __defaults?: {} | undefined;
    compatConfig?: (Partial<Record<import("vue").DeprecationTypes, boolean | "suppress-warning">> & {
        MODE?: 2 | 3 | ((comp: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | null) => 2 | 3) | undefined;
    }) | undefined;
    data?: ((this: import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, Readonly<import("vue").ExtractPropTypes<{}>>, {}, false, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, import("vue").MethodOptions, {}>, vm: import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, Readonly<import("vue").ExtractPropTypes<{}>>, {}, false, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, import("vue").MethodOptions, {}>) => {}) | undefined;
    computed?: {} | undefined;
    methods?: {} | undefined;
    watch?: {
        [x: string]: (string | import("vue").WatchCallback<any, any> | ({
            handler: string | import("vue").WatchCallback<any, any>;
        } & import("vue").WatchOptions<boolean>)) | (string | import("vue").WatchCallback<any, any> | ({
            handler: string | import("vue").WatchCallback<any, any>;
        } & import("vue").WatchOptions<boolean>))[];
    } | undefined;
    provide?: Function | {
        [x: string]: unknown;
    } | undefined;
    inject?: (string[] | {
        [x: string]: string | symbol | {
            from?: string | symbol | undefined;
            default?: unknown;
        };
        [x: symbol]: string | symbol | {
            from?: string | symbol | undefined;
            default?: unknown;
        };
    }) | undefined;
    filters?: Record<string, Function> | undefined;
    mixins?: import("vue").ComponentOptionsMixin[] | undefined;
    extends?: import("vue").ComponentOptionsMixin | undefined;
    beforeCreate?(): void;
    created?(): void;
    beforeMount?(): void;
    mounted?(): void;
    beforeUpdate?(): void;
    updated?(): void;
    activated?(): void;
    deactivated?(): void;
    beforeDestroy?(): void;
    beforeUnmount?(): void;
    destroyed?(): void;
    unmounted?(): void;
    renderTracked?: ((e: import("vue").DebuggerEvent) => void) | undefined;
    renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | undefined;
    errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | undefined;
    delimiters?: [string, string] | undefined;
    __differentiator?: undefined;
    __isBuiltIn?: boolean | undefined;
    __file?: string | undefined;
    beforeRouteEnter?: import("vue-router").NavigationGuardWithThis<undefined> | undefined;
    beforeRouteUpdate?: import("vue-router").NavigationGuard | undefined;
    beforeRouteLeave?: import("vue-router").NavigationGuard | undefined;
    key?: string | number | symbol | undefined;
    ref?: (string | import("vue").Ref<any> | ((ref: object | null, refs: Record<string, any>) => void)) | undefined;
    ref_for?: boolean | undefined;
    ref_key?: string | undefined;
    onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    class?: unknown;
    style?: unknown;
}, PsCollectionItem: {
    name: string;
    setup(_: any, { attrs }: {
        attrs: any;
    }): void;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
    template?: string | object | undefined;
    render?: Function | undefined;
    components?: Record<string, import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>> | undefined;
    directives?: Record<string, import("vue").Directive<any, any>> | undefined;
    inheritAttrs?: boolean | undefined;
    emits?: (import("vue").EmitsOptions & ThisType<void>) | undefined;
    expose?: string[] | undefined;
    serverPrefetch?(): Promise<any>;
    compilerOptions?: import("vue").RuntimeCompilerOptions | undefined;
    call: (<T, A extends any[]>(this: new (...args: A) => T, thisArg: T, ...args: A) => void) & ((this: unknown, ...args: unknown[]) => never);
    __defaults?: {} | undefined;
    compatConfig?: (Partial<Record<import("vue").DeprecationTypes, boolean | "suppress-warning">> & {
        MODE?: 2 | 3 | ((comp: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | null) => 2 | 3) | undefined;
    }) | undefined;
    data?: ((this: import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, Readonly<import("vue").ExtractPropTypes<{}>>, {}, false, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, import("vue").MethodOptions, {}>, vm: import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, Readonly<import("vue").ExtractPropTypes<{}>>, {}, false, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, import("vue").MethodOptions, {}>) => {}) | undefined;
    computed?: {} | undefined;
    methods?: {} | undefined;
    watch?: {
        [x: string]: (string | import("vue").WatchCallback<any, any> | ({
            handler: string | import("vue").WatchCallback<any, any>;
        } & import("vue").WatchOptions<boolean>)) | (string | import("vue").WatchCallback<any, any> | ({
            handler: string | import("vue").WatchCallback<any, any>;
        } & import("vue").WatchOptions<boolean>))[];
    } | undefined;
    provide?: Function | {
        [x: string]: unknown;
    } | undefined;
    inject?: (string[] | {
        [x: string]: string | symbol | {
            from?: string | symbol | undefined;
            default?: unknown;
        };
        [x: symbol]: string | symbol | {
            from?: string | symbol | undefined;
            default?: unknown;
        };
    }) | undefined;
    filters?: Record<string, Function> | undefined;
    mixins?: import("vue").ComponentOptionsMixin[] | undefined;
    extends?: import("vue").ComponentOptionsMixin | undefined;
    beforeCreate?(): void;
    created?(): void;
    beforeMount?(): void;
    mounted?(): void;
    beforeUpdate?(): void;
    updated?(): void;
    activated?(): void;
    deactivated?(): void;
    beforeDestroy?(): void;
    beforeUnmount?(): void;
    destroyed?(): void;
    unmounted?(): void;
    renderTracked?: ((e: import("vue").DebuggerEvent) => void) | undefined;
    renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | undefined;
    errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | undefined;
    delimiters?: [string, string] | undefined;
    __differentiator?: undefined;
    __isBuiltIn?: boolean | undefined;
    __file?: string | undefined;
    beforeRouteEnter?: import("vue-router").NavigationGuardWithThis<undefined> | undefined;
    beforeRouteUpdate?: import("vue-router").NavigationGuard | undefined;
    beforeRouteLeave?: import("vue-router").NavigationGuard | undefined;
    key?: string | number | symbol | undefined;
    ref?: (string | import("vue").Ref<any> | ((ref: object | null, refs: Record<string, any>) => void)) | undefined;
    ref_for?: boolean | undefined;
    ref_key?: string | undefined;
    onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>) => void)[] | undefined;
    class?: unknown;
    style?: unknown;
}, COLLECTION_INJECTION_KEY: import("vue").InjectionKey<import("element-ps/es/components/collection").PsCollectionInjectionContext>, COLLECTION_ITEM_INJECTION_KEY: import("vue").InjectionKey<import("element-ps/es/components/collection").PsCollectionItemInjectionContext>;
export { PsCollection, PsCollectionItem, COLLECTION_INJECTION_KEY as DROPDOWN_COLLECTION_INJECTION_KEY, COLLECTION_ITEM_INJECTION_KEY as DROPDOWN_COLLECTION_ITEM_INJECTION_KEY, };
