import { nextTick } from 'vue';
import { KdsDropdownOption } from './types';
declare const _default: import('vue').DefineComponent<({
    modelValue?: string[];
} & {
    placeholder?: string;
    disabled?: boolean;
    loading?: boolean;
    possibleValues: KdsDropdownOption[];
} & {
    description?: string;
} & {
    label: string;
    ariaLabel?: never;
} & {
    id?: string;
} & {
    error?: boolean | undefined;
    subText?: string | undefined;
    validating?: boolean | undefined;
    preserveSubTextSpace?: boolean | undefined;
} & {
    allowNewValues?: boolean;
}) | ({
    modelValue?: string[];
} & {
    placeholder?: string;
    disabled?: boolean;
    loading?: boolean;
    possibleValues: KdsDropdownOption[];
} & {
    description?: string;
} & {
    label?: never;
    ariaLabel: string;
} & {
    id?: string;
} & {
    error?: boolean | undefined;
    subText?: string | undefined;
    validating?: boolean | undefined;
    preserveSubTextSpace?: boolean | undefined;
} & {
    allowNewValues?: boolean;
}), {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:modelValue": (value: string[]) => any;
}, string, import('vue').PublicProps, Readonly<({
    modelValue?: string[];
} & {
    placeholder?: string;
    disabled?: boolean;
    loading?: boolean;
    possibleValues: KdsDropdownOption[];
} & {
    description?: string;
} & {
    label: string;
    ariaLabel?: never;
} & {
    id?: string;
} & {
    error?: boolean | undefined;
    subText?: string | undefined;
    validating?: boolean | undefined;
    preserveSubTextSpace?: boolean | undefined;
} & {
    allowNewValues?: boolean;
}) | ({
    modelValue?: string[];
} & {
    placeholder?: string;
    disabled?: boolean;
    loading?: boolean;
    possibleValues: KdsDropdownOption[];
} & {
    description?: string;
} & {
    label?: never;
    ariaLabel: string;
} & {
    id?: string;
} & {
    error?: boolean | undefined;
    subText?: string | undefined;
    validating?: boolean | undefined;
    preserveSubTextSpace?: boolean | undefined;
} & {
    allowNewValues?: boolean;
})> & Readonly<{
    "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    popoverEl: ({
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: ({
            readonly modelValue?: boolean | undefined;
            readonly role?: import('../../../overlays/Popover').KdsPopoverRole | undefined;
            readonly popoverType?: import('../../../overlays/Popover').KdsPopoverType | undefined;
            readonly fullWidth?: boolean | undefined;
            readonly maxInlineSize?: string | undefined;
            readonly content?: string | undefined;
            readonly placement?: Exclude<import('../../../overlays/Popover').KdsPopoverPlacement, "custom"> | undefined;
            readonly customPlacementPosition?: never | undefined;
            readonly "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
        } | {
            readonly modelValue?: boolean | undefined;
            readonly role?: import('../../../overlays/Popover').KdsPopoverRole | undefined;
            readonly popoverType?: import('../../../overlays/Popover').KdsPopoverType | undefined;
            readonly fullWidth?: boolean | undefined;
            readonly maxInlineSize?: string | undefined;
            readonly content?: string | undefined;
            readonly placement: "custom";
            readonly customPlacementPosition: {
                x: number;
                y: number;
            };
            readonly "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
        }) & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
        $attrs: import('vue').Attrs;
        $refs: {
            [x: string]: unknown;
        } & {
            popoverEl: HTMLDivElement;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any> | undefined;
        }>;
        $root: import('vue').ComponentPublicInstance | null;
        $parent: import('vue').ComponentPublicInstance | null;
        $host: Element | null;
        $emit: (event: "update:modelValue", value: boolean) => void;
        $el: HTMLDivElement;
        $options: import('vue').ComponentOptionsBase<Readonly<({
            modelValue?: boolean;
        } & {
            role?: import('../../../overlays/Popover').KdsPopoverRole;
            popoverType?: import('../../../overlays/Popover').KdsPopoverType;
            fullWidth?: boolean;
            maxInlineSize?: string;
            content?: string;
        } & {
            placement?: Exclude<import('../../../overlays/Popover').KdsPopoverPlacement, "custom">;
            customPlacementPosition?: never;
        }) | ({
            modelValue?: boolean;
        } & {
            role?: import('../../../overlays/Popover').KdsPopoverRole;
            popoverType?: import('../../../overlays/Popover').KdsPopoverType;
            fullWidth?: boolean;
            maxInlineSize?: string;
            content?: string;
        } & {
            placement: "custom";
            customPlacementPosition: {
                x: number;
                y: number;
            };
        })> & Readonly<{
            "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
        }>, {
            anchorStyle: Record<string, string>;
            popoverId: string;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            "update:modelValue": (value: boolean) => any;
        }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
            renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
    } & Readonly<{}> & Omit<{} & (Readonly<({
        modelValue?: boolean;
    } & {
        role?: import('../../../overlays/Popover').KdsPopoverRole;
        popoverType?: import('../../../overlays/Popover').KdsPopoverType;
        fullWidth?: boolean;
        maxInlineSize?: string;
        content?: string;
    } & {
        placement?: Exclude<import('../../../overlays/Popover').KdsPopoverPlacement, "custom">;
        customPlacementPosition?: never;
    }) | ({
        modelValue?: boolean;
    } & {
        role?: import('../../../overlays/Popover').KdsPopoverRole;
        popoverType?: import('../../../overlays/Popover').KdsPopoverType;
        fullWidth?: boolean;
        maxInlineSize?: string;
        content?: string;
    } & {
        placement: "custom";
        customPlacementPosition: {
            x: number;
            y: number;
        };
    })> & Readonly<{
        "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
    }>), "anchorStyle" | "popoverId"> & {
        anchorStyle: Record<string, string>;
        popoverId: string;
    } & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: {
            default?(_: {}): any;
        };
    }) | null;
    dropdownContainerEl: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
        modelValue?: string[];
        searchValue?: string;
    } & import('./types').DropdownContainerProps & {
        allowNewValues?: boolean;
    }> & Readonly<{
        "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
        onAddValue?: ((text: string) => any) | undefined;
        "onUpdate:searchValue"?: ((value: string) => any) | undefined;
    }>, {
        focus: () => void;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        "update:modelValue": (value: string[]) => any;
        addValue: (text: string) => any;
        "update:searchValue": (value: string) => any;
    }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
        searchEl: ({
            $: import('vue').ComponentInternalInstance;
            $data: {};
            $props: {
                readonly modelValue?: string | undefined;
                readonly id?: string | undefined;
                readonly type?: "text" | "email" | "password" | "number" | "tel" | "url" | "search" | undefined;
                readonly min?: number | string | undefined;
                readonly max?: number | string | undefined;
                readonly ariaExpanded?: boolean | undefined;
                readonly step?: number | undefined;
                readonly placeholder?: string | undefined;
                readonly disabled?: boolean | undefined;
                readonly leadingIcon?: import('../../..').KdsIconName | undefined;
                readonly trailingIcon?: import('../../..').KdsIconName | undefined;
                readonly error?: boolean | undefined;
                readonly autocomplete?: string | undefined;
                readonly ariaLabel?: string | undefined;
                readonly ariaLabelledby?: string | undefined;
                readonly ariaDescribedby?: string | undefined;
                readonly ariaInvalid?: boolean | undefined;
                readonly role?: string | undefined;
                readonly ariaValuenow?: number | undefined;
                readonly ariaValuemin?: number | undefined;
                readonly ariaValuemax?: number | undefined;
                readonly ariaValuetext?: string | undefined;
                readonly ariaActivedescendant?: string | undefined;
                readonly ariaHaspopup?: "listbox" | "menu" | "dialog" | "grid" | "tree" | "true" | undefined;
                readonly ariaControls?: string | undefined;
                readonly ariaAutocomplete?: "none" | "inline" | "list" | "both" | undefined;
                readonly unit?: string | undefined;
                readonly inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
                readonly clearable?: boolean | undefined;
                readonly pattern?: string | undefined;
                readonly segments?: import('../../inputs/useInputSegments.helpers').KdsInputSegmentsConfig | undefined;
                readonly onInput?: ((event: Event) => any) | undefined;
                readonly onClick?: ((event: MouseEvent) => any) | undefined;
                readonly onBlur?: ((event: FocusEvent) => any) | undefined;
                readonly onFocus?: ((event: FocusEvent) => any) | undefined;
                readonly onKeydown?: ((event: KeyboardEvent) => any) | undefined;
                readonly onPaste?: ((event: ClipboardEvent) => any) | undefined;
                readonly "onUpdate:modelValue"?: ((value: string) => any) | undefined;
            } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
            $attrs: import('vue').Attrs;
            $refs: {
                [x: string]: unknown;
            } & {
                input: HTMLInputElement;
            };
            $slots: Readonly<{
                [name: string]: import('vue').Slot<any> | undefined;
            }>;
            $root: import('vue').ComponentPublicInstance | null;
            $parent: import('vue').ComponentPublicInstance | null;
            $host: Element | null;
            $emit: ((event: "input", event: Event) => void) & ((event: "click", event: MouseEvent) => void) & ((event: "blur", event: FocusEvent) => void) & ((event: "focus", event: FocusEvent) => void) & ((event: "keydown", event: KeyboardEvent) => void) & ((event: "paste", event: ClipboardEvent) => void) & ((event: "update:modelValue", value: string) => void);
            $el: HTMLDivElement;
            $options: import('vue').ComponentOptionsBase<Readonly<{
                modelValue?: string;
            } & {
                id?: string;
                type?: "text" | "email" | "password" | "number" | "tel" | "url" | "search";
                min?: number | string;
                max?: number | string;
                ariaExpanded?: boolean;
                step?: number;
                placeholder?: string;
                disabled?: boolean;
                leadingIcon?: import('../../..').KdsIconName;
                trailingIcon?: import('../../..').KdsIconName;
                error?: boolean;
                autocomplete?: string;
                ariaLabel?: string;
                ariaLabelledby?: string;
                ariaDescribedby?: string;
                ariaInvalid?: boolean;
                role?: string;
                ariaValuenow?: number;
                ariaValuemin?: number;
                ariaValuemax?: number;
                ariaValuetext?: string;
                ariaActivedescendant?: string;
                ariaHaspopup?: "listbox" | "menu" | "dialog" | "grid" | "tree" | "true";
                ariaControls?: string;
                ariaAutocomplete?: "none" | "inline" | "list" | "both";
                unit?: string;
                inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search";
                clearable?: boolean;
                pattern?: string;
                segments?: import('../../inputs/useInputSegments.helpers').KdsInputSegmentsConfig;
            }> & Readonly<{
                onInput?: ((event: Event) => any) | undefined;
                onClick?: ((event: MouseEvent) => any) | undefined;
                onBlur?: ((event: FocusEvent) => any) | undefined;
                onFocus?: ((event: FocusEvent) => any) | undefined;
                onKeydown?: ((event: KeyboardEvent) => any) | undefined;
                onPaste?: ((event: ClipboardEvent) => any) | undefined;
                "onUpdate:modelValue"?: ((value: string) => any) | undefined;
            }>, {
                focus: () => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
                input: (event: Event) => any;
                click: (event: MouseEvent) => any;
                blur: (event: FocusEvent) => any;
                focus: (event: FocusEvent) => any;
                keydown: (event: KeyboardEvent) => any;
                paste: (event: ClipboardEvent) => any;
                "update:modelValue": (value: string) => any;
            }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
                beforeCreate?: (() => void) | (() => void)[];
                created?: (() => void) | (() => void)[];
                beforeMount?: (() => void) | (() => void)[];
                mounted?: (() => void) | (() => void)[];
                beforeUpdate?: (() => void) | (() => void)[];
                updated?: (() => void) | (() => void)[];
                activated?: (() => void) | (() => void)[];
                deactivated?: (() => void) | (() => void)[];
                beforeDestroy?: (() => void) | (() => void)[];
                beforeUnmount?: (() => void) | (() => void)[];
                destroyed?: (() => void) | (() => void)[];
                unmounted?: (() => void) | (() => void)[];
                renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
                renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
                errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
            };
            $forceUpdate: () => void;
            $nextTick: typeof nextTick;
            $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
        } & Readonly<{}> & Omit<Readonly<{
            modelValue?: string;
        } & {
            id?: string;
            type?: "text" | "email" | "password" | "number" | "tel" | "url" | "search";
            min?: number | string;
            max?: number | string;
            ariaExpanded?: boolean;
            step?: number;
            placeholder?: string;
            disabled?: boolean;
            leadingIcon?: import('../../..').KdsIconName;
            trailingIcon?: import('../../..').KdsIconName;
            error?: boolean;
            autocomplete?: string;
            ariaLabel?: string;
            ariaLabelledby?: string;
            ariaDescribedby?: string;
            ariaInvalid?: boolean;
            role?: string;
            ariaValuenow?: number;
            ariaValuemin?: number;
            ariaValuemax?: number;
            ariaValuetext?: string;
            ariaActivedescendant?: string;
            ariaHaspopup?: "listbox" | "menu" | "dialog" | "grid" | "tree" | "true";
            ariaControls?: string;
            ariaAutocomplete?: "none" | "inline" | "list" | "both";
            unit?: string;
            inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search";
            clearable?: boolean;
            pattern?: string;
            segments?: import('../../inputs/useInputSegments.helpers').KdsInputSegmentsConfig;
        }> & Readonly<{
            onInput?: ((event: Event) => any) | undefined;
            onClick?: ((event: MouseEvent) => any) | undefined;
            onBlur?: ((event: FocusEvent) => any) | undefined;
            onFocus?: ((event: FocusEvent) => any) | undefined;
            onKeydown?: ((event: KeyboardEvent) => any) | undefined;
            onPaste?: ((event: ClipboardEvent) => any) | undefined;
            "onUpdate:modelValue"?: ((value: string) => any) | undefined;
        }>, "focus"> & {
            focus: () => void;
        } & {} & import('vue').ComponentCustomProperties & {} & {
            $slots: {
                leading?(_: {}): any;
                trailing?(_: {}): any;
            };
        }) | null;
        listContainer: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('../../..').KdsListContainerProps> & Readonly<{
            onItemClick?: ((id?: string | undefined) => any) | undefined;
        }>, {
            handleKeydown: (event: KeyboardEvent) => void;
            handleFocus: () => void;
            handleBlur: () => void;
            activeDescendant: Readonly<import('vue').Ref<string | undefined>>;
            focus: () => void;
            scrollSelectedIntoView: () => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            itemClick: (id?: string | undefined) => any;
        }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
            containerEl: HTMLDivElement;
        }, HTMLDivElement, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import('../../..').KdsListContainerProps> & Readonly<{
            onItemClick?: ((id?: string | undefined) => any) | undefined;
        }>, {
            handleKeydown: (event: KeyboardEvent) => void;
            handleFocus: () => void;
            handleBlur: () => void;
            activeDescendant: Readonly<import('vue').Ref<string | undefined>>;
            focus: () => void;
            scrollSelectedIntoView: () => void;
        }, {}, {}, {}, {}> | null;
    }, HTMLDivElement, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<{
        modelValue?: string[];
        searchValue?: string;
    } & import('./types').DropdownContainerProps & {
        allowNewValues?: boolean;
    }> & Readonly<{
        "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
        onAddValue?: ((text: string) => any) | undefined;
        "onUpdate:searchValue"?: ((value: string) => any) | undefined;
    }>, {
        focus: () => void;
    }, {}, {}, {}, {}> | null;
}, HTMLDivElement>;
export default _default;
//# sourceMappingURL=KdsMultiSelectDropdown.vue.d.ts.map