import { ApSelectItem } from './interface';
import { PublicProps, ShallowUnwrapRef, VNode, Plugin } from 'vue';
export * from './interface';
declare const ApSelectLayout: (<T extends ApSelectItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
    attrs: any;
    slots: {
        itemRender?(_: {
            item: T;
        }): any;
        default?(_: {}): any;
    };
    emit: {
        (event: "onSelect", value: T): void;
        (event: "afterEnter", el: Element): void;
        (event: "afterLeave", el: Element): void;
    };
}, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: {
        readonly onAfterEnter?: ((el: Element) => any) | undefined;
        readonly onAfterLeave?: ((el: Element) => any) | undefined;
        readonly onOnSelect?: ((value: T) => any) | undefined;
        title: string;
        request: () => Promise<T[]>;
        onSearch?: ((item: T, val: string) => boolean) | undefined;
        defaultFold?: boolean | undefined;
        defaultValue?: string | undefined;
    } & PublicProps;
    expose(exposed: ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: {
        itemRender?(_: {
            item: T;
        }): any;
        default?(_: {}): any;
    };
    emit: {
        (event: "onSelect", value: T): void;
        (event: "afterEnter", el: Element): void;
        (event: "afterLeave", el: Element): void;
    };
}>) => VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
}) & ( Plugin & (new (...args: any[]) => {
    $props: {
        onClick?: () => void;
    };
}));
export { ApSelectLayout };
