import { PropType } from 'vue';
import { getPropertyValue } from '../../../utils/object';
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    /**
     * An array of objects with the labelProperty and valueProperty.
     *
     * @example [{label: 'Option A', value: 'a'}, {label: 'Option B', value: 'b'}]
     */
    options: {
        type: ArrayConstructor;
        required: true;
    };
    /**
     * Toggles if either one or more items can be selected.
     */
    enableMultiSelection: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Dependent on multiSelection, either a single value or an array of values.
     */
    modelValue: {
        type: PropType<string | number | boolean | unknown[] | null | object | undefined>;
        required: false;
        default: null;
    };
    /**
     * The object key of the label property. Can be a single string or an array of strings.
     * If an array is provided, the first property that has a non-empty value will be used.
     */
    labelProperty: {
        type: PropType<string | string[]>;
        required: false;
        default: string;
    };
    /**
     * The object key to use for the value.
     */
    valueProperty: {
        type: StringConstructor;
        required: false;
        default: string;
    };
    /**
     * The number of items that are expanded by default.
     */
    valueLimit: {
        type: NumberConstructor;
        required: false;
        default: number;
    };
    /**
     * The label for the select field itself.
     */
    label: {
        type: StringConstructor;
        required: false;
        default: string;
    };
    /**
     * The placeholder for the select field.
     */
    placeholder: {
        type: StringConstructor;
        required: false;
        default: string;
    };
    /**
     * Determines if the placeholder should be shown even when there are no selections.
     */
    alwaysShowPlaceholder: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Toggles the loading state of the select field.
     */
    isLoading: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Disables or enables the select field.
     */
    disabled: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Toggles a button to clear all selections.
     */
    hideClearableButton: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Determines to highlight the searched term or not.
     */
    highlightSearchTerm: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Used to implement a custom search function.
     * Parameters passed: { options, labelProperty, valueProperty, searchTerm }
     */
    searchFunction: {
        type: FunctionConstructor;
        required: false;
        default: ({ options, labelProperty, searchTerm, }: {
            options: any;
            labelProperty: string | string[];
            searchTerm: string;
        }) => any;
    };
    /**
     * An error in your business logic related to this field.
     *
     * For example: {"code": 500, "detail": "Error while saving"}
     */
    error: {
        type: ObjectConstructor;
        required: false;
        default: null;
    };
    /**
     * Toggles the inheritance visualization.
     */
    isInherited: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Determines if the field is inheritable.
     */
    isInheritanceField: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Determines the active state of the inheritance toggle.
     */
    disableInheritanceToggle: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Render the select field in small without a search input
     */
    small: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
}>, {
    t: import('vue-i18n').ComposerTranslation<{
        en: {
            messageNoResults: string;
        };
        de: {
            messageNoResults: string;
        };
    }, "en" | "de", import('@intlify/core-base').RemoveIndexSignature<{
        [x: string]: import('vue-i18n').LocaleMessageValue<import('vue-i18n').VueMessageType>;
    }>, never, "messageNoResults", "messageNoResults">;
    getKey: typeof getPropertyValue;
}, {
    searchTerm: string;
    limit: number;
    searchResults: never[];
    isSearchResultsLoading: boolean;
}, {
    visibleValues(): any[];
    totalValuesCount(): number;
    invisibleValueCount(): number;
    currentValue: {
        get(): string | number | boolean | unknown[] | object | null | undefined;
        set(newValue: string | number | boolean | unknown[] | null | undefined): void;
    };
    visibleResults(): any[];
    componentClasses(): Record<string, boolean>;
}, {
    isSelected(item: any): any;
    addItem(item: any): void;
    remove(item: any): void;
    removeLastItem(): void;
    expandValueLimit(): void;
    onSearchTermChange(term: string): void;
    searchTermDebounced: (...args: any[]) => void;
    resetActiveItem(): void;
    onSelectExpanded(): void;
    onSelectCollapsed(): void;
    onClearSelection(): void;
    getFocusElement(): HTMLElement;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("inheritance-remove" | "inheritance-restore" | "update:modelValue" | "change" | "paginate" | "search-term-change" | "item-remove" | "item-add" | "display-values-expand")[], "inheritance-remove" | "inheritance-restore" | "update:modelValue" | "change" | "paginate" | "search-term-change" | "item-remove" | "item-add" | "display-values-expand", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    /**
     * An array of objects with the labelProperty and valueProperty.
     *
     * @example [{label: 'Option A', value: 'a'}, {label: 'Option B', value: 'b'}]
     */
    options: {
        type: ArrayConstructor;
        required: true;
    };
    /**
     * Toggles if either one or more items can be selected.
     */
    enableMultiSelection: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Dependent on multiSelection, either a single value or an array of values.
     */
    modelValue: {
        type: PropType<string | number | boolean | unknown[] | null | object | undefined>;
        required: false;
        default: null;
    };
    /**
     * The object key of the label property. Can be a single string or an array of strings.
     * If an array is provided, the first property that has a non-empty value will be used.
     */
    labelProperty: {
        type: PropType<string | string[]>;
        required: false;
        default: string;
    };
    /**
     * The object key to use for the value.
     */
    valueProperty: {
        type: StringConstructor;
        required: false;
        default: string;
    };
    /**
     * The number of items that are expanded by default.
     */
    valueLimit: {
        type: NumberConstructor;
        required: false;
        default: number;
    };
    /**
     * The label for the select field itself.
     */
    label: {
        type: StringConstructor;
        required: false;
        default: string;
    };
    /**
     * The placeholder for the select field.
     */
    placeholder: {
        type: StringConstructor;
        required: false;
        default: string;
    };
    /**
     * Determines if the placeholder should be shown even when there are no selections.
     */
    alwaysShowPlaceholder: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Toggles the loading state of the select field.
     */
    isLoading: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Disables or enables the select field.
     */
    disabled: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Toggles a button to clear all selections.
     */
    hideClearableButton: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Determines to highlight the searched term or not.
     */
    highlightSearchTerm: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Used to implement a custom search function.
     * Parameters passed: { options, labelProperty, valueProperty, searchTerm }
     */
    searchFunction: {
        type: FunctionConstructor;
        required: false;
        default: ({ options, labelProperty, searchTerm, }: {
            options: any;
            labelProperty: string | string[];
            searchTerm: string;
        }) => any;
    };
    /**
     * An error in your business logic related to this field.
     *
     * For example: {"code": 500, "detail": "Error while saving"}
     */
    error: {
        type: ObjectConstructor;
        required: false;
        default: null;
    };
    /**
     * Toggles the inheritance visualization.
     */
    isInherited: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Determines if the field is inheritable.
     */
    isInheritanceField: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Determines the active state of the inheritance toggle.
     */
    disableInheritanceToggle: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    /**
     * Render the select field in small without a search input
     */
    small: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
}>> & Readonly<{
    onChange?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    "onInheritance-remove"?: ((...args: any[]) => any) | undefined;
    "onInheritance-restore"?: ((...args: any[]) => any) | undefined;
    onPaginate?: ((...args: any[]) => any) | undefined;
    "onSearch-term-change"?: ((...args: any[]) => any) | undefined;
    "onItem-remove"?: ((...args: any[]) => any) | undefined;
    "onItem-add"?: ((...args: any[]) => any) | undefined;
    "onDisplay-values-expand"?: ((...args: any[]) => any) | undefined;
}>, {
    small: boolean;
    label: string;
    disabled: boolean;
    isInherited: boolean;
    error: Record<string, any>;
    modelValue: string | number | boolean | object | unknown[] | null | undefined;
    placeholder: string;
    isLoading: boolean;
    isInheritanceField: boolean;
    disableInheritanceToggle: boolean;
    labelProperty: string | string[];
    valueProperty: string;
    alwaysShowPlaceholder: boolean;
    enableMultiSelection: boolean;
    valueLimit: number;
    hideClearableButton: boolean;
    highlightSearchTerm: boolean;
    searchFunction: Function;
}, {}, {
    "mt-select-base": import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        label: {
            type: StringConstructor;
            required: true;
        };
        isLoading: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        showClearableButton: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        error: {
            type: ObjectConstructor;
            required: false;
            default: null;
        };
        isInherited: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        isInheritanceField: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        disableInheritanceToggle: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
    }>, {}, {
        expanded: boolean;
        suffixWidth: number;
    }, {
        mtFieldClasses(): {
            "has--focus": boolean;
        };
        selectionIndicatorsRight(): string;
    }, {
        updateSuffixWidth(): void;
        toggleExpand(): void;
        expand(): void;
        collapse(event?: Event): void;
        focusPreviousFormElement(): void;
        listenToClickOutside(event: Event): void;
        computePath(event: Event): EventTarget[];
        emitClear(): void;
        focusParentSelect(event: KeyboardEvent): void;
    }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("inheritance-remove" | "inheritance-restore" | "clear" | "select-expanded" | "select-collapsed")[], "inheritance-remove" | "inheritance-restore" | "clear" | "select-expanded" | "select-collapsed", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        label: {
            type: StringConstructor;
            required: true;
        };
        isLoading: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        showClearableButton: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        error: {
            type: ObjectConstructor;
            required: false;
            default: null;
        };
        isInherited: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        isInheritanceField: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        disableInheritanceToggle: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
    }>> & Readonly<{
        "onInheritance-remove"?: ((...args: any[]) => any) | undefined;
        "onInheritance-restore"?: ((...args: any[]) => any) | undefined;
        onClear?: ((...args: any[]) => any) | undefined;
        "onSelect-expanded"?: ((...args: any[]) => any) | undefined;
        "onSelect-collapsed"?: ((...args: any[]) => any) | undefined;
    }>, {
        disabled: boolean;
        isInherited: boolean;
        error: Record<string, any>;
        isLoading: boolean;
        isInheritanceField: boolean;
        disableInheritanceToggle: boolean;
        showClearableButton: boolean;
    }, {}, {
        "mt-base-field": import('vue').DefineComponent<import('vue').ExtractPropTypes<{
            disabled: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            required: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            isInherited: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            isInheritanceField: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            disableInheritanceToggle: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            copyable: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            copyableTooltip: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            hasFocus: {
                type: BooleanConstructor;
                required: true;
            };
            helpText: {
                type: StringConstructor;
                required: false;
                default: string;
            };
            copyableText: {
                type: StringConstructor;
                required: false;
                default: string;
            };
            size: {
                type: StringConstructor;
                required: false;
                default: string;
                validator(value: string): boolean;
            };
            name: {
                type: StringConstructor;
                required: false;
                default: null;
            };
        }>, {
            hasSlotContent: (slot: import('vue').Slot | undefined | null, props?: any) => boolean;
            future: {
                removeCardWidth: boolean;
                removeDefaultMargin: boolean;
            };
        }, {
            id: string | undefined;
        }, {
            identification(): string;
            showLabel(): boolean;
            mtFieldLabelClasses(): {
                "is--required": boolean;
            };
            mtBlockSize(): string;
            hasError(): boolean;
        }, {}, import('vue').DefineComponent<import('vue').ExtractPropTypes<{
            validation: {
                type: (BooleanConstructor | ObjectConstructor | StringConstructor | ArrayConstructor)[];
                required: false;
                default: null;
            };
        }>, {}, {}, {
            isValid(): boolean;
        }, {
            validate(value: unknown): boolean;
            validateRule(value: unknown, rule: string): boolean;
        }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            validation: {
                type: (BooleanConstructor | ObjectConstructor | StringConstructor | ArrayConstructor)[];
                required: false;
                default: null;
            };
        }>> & Readonly<{}>, {
            validation: string | boolean | Record<string, any> | unknown[];
        }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any> | import('vue').DefineComponent<import('vue').ExtractPropTypes<{
            mapInheritance: {
                type: ObjectConstructor;
                required: false;
                default: null;
            };
            name: {
                type: StringConstructor;
                required: false;
                default: null;
            };
        }>, {}, {}, {
            formFieldName(): string | undefined;
        }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            mapInheritance: {
                type: ObjectConstructor;
                required: false;
                default: null;
            };
            name: {
                type: StringConstructor;
                required: false;
                default: null;
            };
        }>> & Readonly<{}>, {
            name: string;
            mapInheritance: Record<string, any>;
        }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            disabled: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            required: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            isInherited: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            isInheritanceField: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            disableInheritanceToggle: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            copyable: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            copyableTooltip: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            hasFocus: {
                type: BooleanConstructor;
                required: true;
            };
            helpText: {
                type: StringConstructor;
                required: false;
                default: string;
            };
            copyableText: {
                type: StringConstructor;
                required: false;
                default: string;
            };
            size: {
                type: StringConstructor;
                required: false;
                default: string;
                validator(value: string): boolean;
            };
            name: {
                type: StringConstructor;
                required: false;
                default: null;
            };
        }>> & Readonly<{}>, {
            name: string;
            size: string;
            required: boolean;
            disabled: boolean;
            isInherited: boolean;
            helpText: string;
            copyableText: string;
            isInheritanceField: boolean;
            disableInheritanceToggle: boolean;
            copyable: boolean;
            copyableTooltip: boolean;
        }, {}, {
            "mt-inheritance-switch": import('vue').DefineComponent<{
                isInherited: boolean;
                disabled?: boolean;
            }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
                inheritanceRemove: () => any;
                inheritanceRestore: () => any;
            }, string, import('vue').PublicProps, Readonly<{
                isInherited: boolean;
                disabled?: boolean;
            }> & Readonly<{
                onInheritanceRemove?: (() => any) | undefined;
                onInheritanceRestore?: (() => any) | undefined;
            }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
            "mt-help-text": import('vue').DefineComponent<{
                text: string;
                width?: number;
                showDelay?: number;
                hideDelay?: number;
                placement?: import('@floating-ui/utils').Placement;
            }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
                text: string;
                width?: number;
                showDelay?: number;
                hideDelay?: number;
                placement?: import('@floating-ui/utils').Placement;
            }> & Readonly<{}>, {
                showDelay: number;
                hideDelay: number;
            }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
            "mt-field-copyable": import('vue').DefineComponent<import('vue').ExtractPropTypes<{
                copyableText: {
                    type: StringConstructor;
                    required: false;
                    default: null;
                };
                tooltip: {
                    type: BooleanConstructor;
                    required: false;
                    default: boolean;
                };
            }>, {
                copyToClipboard: () => void;
                tooltipText: import('vue').ComputedRef<string>;
                wasCopied: import('vue').Ref<boolean, boolean>;
            }, {}, {}, {}, import('vue').DefineComponent<{}, {}, {}, {}, {
                createNotification(): void;
                createNotificationSuccess(config: any): void;
                createNotificationInfo(config: any): void;
                createNotificationWarning(config: any): void;
                createNotificationError(config: any): void;
                createSystemNotificationSuccess(config: any): void;
                createSystemNotificationInfo(config: any): void;
                createSystemNotificationWarning(config: any): void;
                createSystemNotificationError(config: any): void;
                createSystemNotification(config: any): void;
            }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
                copyableText: {
                    type: StringConstructor;
                    required: false;
                    default: null;
                };
                tooltip: {
                    type: BooleanConstructor;
                    required: false;
                    default: boolean;
                };
            }>> & Readonly<{}>, {
                tooltip: boolean;
                copyableText: string;
            }, {}, {
                "mt-icon": import('vue').DefineComponent<{
                    name: string;
                    color?: string;
                    decorative?: boolean;
                    size?: string;
                    mode?: "solid" | "regular";
                }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
                    name: string;
                    color?: string;
                    decorative?: boolean;
                    size?: string;
                    mode?: "solid" | "regular";
                }> & Readonly<{}>, {
                    color: string;
                    decorative: boolean;
                    size: string;
                    mode: "solid" | "regular";
                }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
            }, {
                tooltip: import('vue').ObjectDirective<any, any, string, string>;
            }, string, import('vue').ComponentProvideOptions, true, {}, any>;
        }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
        "mt-icon": import('vue').DefineComponent<{
            name: string;
            color?: string;
            decorative?: boolean;
            size?: string;
            mode?: "solid" | "regular";
        }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
            name: string;
            color?: string;
            decorative?: boolean;
            size?: string;
            mode?: "solid" | "regular";
        }> & Readonly<{}>, {
            color: string;
            decorative: boolean;
            size: string;
            mode: "solid" | "regular";
        }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
        "mt-loader": import('vue').DefineComponent<{
            size?: `${string}px`;
        }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
            size?: `${string}px`;
        }> & Readonly<{}>, {
            size: `${string}px`;
        }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
        "mt-field-error": import('vue').DefineComponent<{
            error?: Record<string, any> | null;
        }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
            error?: Record<string, any> | null;
        }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
    }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
    "mt-select-result-list": import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        options: {
            type: ArrayConstructor;
            required: false;
            default(): never[];
        };
        emptyMessage: {
            type: StringConstructor;
            required: false;
            default: null;
        };
        focusEl: {
            type: PropType<HTMLDocument | HTMLElement>;
            required: false;
            default(): Document;
        };
        isLoading: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        popoverClasses: {
            type: PropType<string[]>;
            required: false;
            default(): never[];
        };
        popoverResizeWidth: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
    }>, {
        t: import('vue-i18n').ComposerTranslation<{
            en: {
                messageNoResults: string;
            };
            de: {
                messageNoResults: string;
            };
        }, "en" | "de", import('@intlify/core-base').RemoveIndexSignature<{
            [x: string]: import('vue-i18n').LocaleMessageValue<import('vue-i18n').VueMessageType>;
        }>, never, "messageNoResults", "messageNoResults">;
        activeItemIndex: import('vue').Ref<number, number>;
        emitActiveItemIndex: () => void;
        setActiveItemIndex: (index: number) => void;
        addToActiveItemChangeListeners: (listener: (index: number) => void) => void;
        removeActiveItemChangeListener: (listener: (index: number) => void) => void;
        addToItemSelectByKeyboardListeners: (listener: (index: number) => void) => void;
        removeItemSelectByKeyboardListener: (listener: (index: number) => void) => void;
    }, {
        activeItemChangeListeners: Array<(index: number) => void>;
        itemSelectByKeyboardListeners: Array<(index: number) => void>;
    }, {
        popoverClass(): string[];
    }, {
        addEventListeners(): void;
        removeEventListeners(): void;
        checkOutsideClick(event: MouseEvent): void;
        navigate({ key }: {
            key: string;
        }): void;
        navigateNext(): void;
        navigatePrevious(): void;
        updateScrollPosition(): void;
        emitClicked(): void;
        onScroll(event: UIEvent): void;
        getBottomDistance(element: Element): number;
    }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        options: {
            type: ArrayConstructor;
            required: false;
            default(): never[];
        };
        emptyMessage: {
            type: StringConstructor;
            required: false;
            default: null;
        };
        focusEl: {
            type: PropType<HTMLDocument | HTMLElement>;
            required: false;
            default(): Document;
        };
        isLoading: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        popoverClasses: {
            type: PropType<string[]>;
            required: false;
            default(): never[];
        };
        popoverResizeWidth: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
    }>> & Readonly<{}>, {
        options: unknown[];
        isLoading: boolean;
        emptyMessage: string;
        focusEl: HTMLElement | HTMLDocument;
        popoverClasses: string[];
        popoverResizeWidth: boolean;
    }, {}, {
        "mt-popover-deprecated": import('vue').DefineComponent<import('vue').ExtractPropTypes<{
            zIndex: {
                type: PropType<number | null>;
                required: false;
                default: null;
            };
            resizeWidth: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            popoverClass: {
                type: PropType<string | unknown[] | Record<string, unknown>>;
                required: false;
                default: string;
            };
        }>, {}, {}, {
            componentStyle(): {
                "z-Index": number | null;
            };
            popoverConfig(): {
                active: boolean;
                resizeWidth: boolean;
            };
        }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            zIndex: {
                type: PropType<number | null>;
                required: false;
                default: null;
            };
            resizeWidth: {
                type: BooleanConstructor;
                required: false;
                default: boolean;
            };
            popoverClass: {
                type: PropType<string | unknown[] | Record<string, unknown>>;
                required: false;
                default: string;
            };
        }>> & Readonly<{}>, {
            zIndex: number | null;
            resizeWidth: boolean;
            popoverClass: string | unknown[] | Record<string, unknown>;
        }, {}, {}, {
            popover: import('vue').Directive;
        }, string, import('vue').ComponentProvideOptions, true, {}, any>;
        "mt-icon": import('vue').DefineComponent<{
            name: string;
            color?: string;
            decorative?: boolean;
            size?: string;
            mode?: "solid" | "regular";
        }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
            name: string;
            color?: string;
            decorative?: boolean;
            size?: string;
            mode?: "solid" | "regular";
        }> & Readonly<{}>, {
            color: string;
            decorative: boolean;
            size: string;
            mode: "solid" | "regular";
        }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
    }, {}, string, () => {
        setActiveItemIndex: (index: number) => void;
    }, true, {}, any>;
    "mt-select-selection-list": import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        selections: {
            type: PropType<Record<string, string>[]>;
            required: false;
            default: () => never[];
        };
        labelProperty: {
            type: PropType<string | string[]>;
            required: false;
            default: string;
        };
        valueProperty: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        enableSearch: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        invisibleCount: {
            type: NumberConstructor;
            required: false;
            default: number;
        };
        size: {
            type: PropType<"small" | "medium" | "default">;
            required: false;
            default: null;
        };
        alwaysShowPlaceholder: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        placeholder: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        isLoading: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        searchTerm: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        selectionDisablingMethod: {
            type: PropType<(selection: Record<string, string>) => boolean>;
            required: false;
            default: () => boolean;
        };
        hideLabels: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        multiSelection: {
            type: BooleanConstructor;
            required: true;
        };
        disableInput: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
    }>, {
        t: import('vue-i18n').ComposerTranslation<{
            de: {
                "select-placeholder": string;
            };
            en: {
                "select-placeholder": string;
            };
        }, "en" | "de", import('@intlify/core-base').RemoveIndexSignature<{
            [x: string]: import('vue-i18n').LocaleMessageValue<import('vue-i18n').VueMessageType>;
        }>, never, "select-placeholder", "select-placeholder">;
        getKey: typeof getPropertyValue;
    }, {
        inputInFocus: boolean;
    }, {
        classBindings(): {
            "mt-select-selection-list--single": boolean;
        };
        inputWrapperClasses(): {
            "mt-select-selection-list__input-wrapper--small": boolean;
        };
        showPlaceholder(): string;
        currentValue(): string;
        inputValue(): string;
    }, {
        isSelectionDisabled(selection: Record<string, string>): boolean;
        onClickInvisibleCount(): void;
        onSearchTermChange(event: Event): void;
        onInputFocus(): Promise<void>;
        clearSearchTerm(): void;
        onKeyDownDelete(): void;
        onClickDismiss(item: any): void;
        focus(): void;
        blur(): void;
        select(): void;
        getFocusEl(): unknown;
    }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        selections: {
            type: PropType<Record<string, string>[]>;
            required: false;
            default: () => never[];
        };
        labelProperty: {
            type: PropType<string | string[]>;
            required: false;
            default: string;
        };
        valueProperty: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        enableSearch: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        invisibleCount: {
            type: NumberConstructor;
            required: false;
            default: number;
        };
        size: {
            type: PropType<"small" | "medium" | "default">;
            required: false;
            default: null;
        };
        alwaysShowPlaceholder: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        placeholder: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        isLoading: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        searchTerm: {
            type: StringConstructor;
            required: false;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        selectionDisablingMethod: {
            type: PropType<(selection: Record<string, string>) => boolean>;
            required: false;
            default: () => boolean;
        };
        hideLabels: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        multiSelection: {
            type: BooleanConstructor;
            required: true;
        };
        disableInput: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
    }>> & Readonly<{}>, {
        size: "small" | "default" | "medium";
        disabled: boolean;
        placeholder: string;
        isLoading: boolean;
        selections: Record<string, string>[];
        labelProperty: string | string[];
        valueProperty: string;
        enableSearch: boolean;
        invisibleCount: number;
        alwaysShowPlaceholder: boolean;
        searchTerm: string;
        selectionDisablingMethod: (selection: Record<string, string>) => boolean;
        hideLabels: boolean;
        disableInput: boolean;
    }, {}, {
        "mt-label": {
            new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
                variant?: "info" | "danger" | "success" | "warning" | "neutral" | "primary";
                size?: "small" | "medium" | "default";
                appearance?: "default" | "pill" | "circle" | "badged";
                ghost?: boolean;
                caps?: boolean;
                dismissable?: boolean;
            }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
                size: "small" | "medium" | "default";
                variant: "info" | "danger" | "success" | "warning" | "neutral" | "primary";
                ghost: boolean;
                appearance: "default" | "pill" | "circle" | "badged";
                caps: boolean;
            }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<{
                variant?: "info" | "danger" | "success" | "warning" | "neutral" | "primary";
                size?: "small" | "medium" | "default";
                appearance?: "default" | "pill" | "circle" | "badged";
                ghost?: boolean;
                caps?: boolean;
                dismissable?: boolean;
            }> & Readonly<{}>, {}, {}, {}, {}, {
                size: "small" | "medium" | "default";
                variant: "info" | "danger" | "success" | "warning" | "neutral" | "primary";
                ghost: boolean;
                appearance: "default" | "pill" | "circle" | "badged";
                caps: boolean;
            }>;
            __isFragment?: never;
            __isTeleport?: never;
            __isSuspense?: never;
        } & import('vue').ComponentOptionsBase<Readonly<{
            variant?: "info" | "danger" | "success" | "warning" | "neutral" | "primary";
            size?: "small" | "medium" | "default";
            appearance?: "default" | "pill" | "circle" | "badged";
            ghost?: boolean;
            caps?: boolean;
            dismissable?: boolean;
        }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
            size: "small" | "medium" | "default";
            variant: "info" | "danger" | "success" | "warning" | "neutral" | "primary";
            ghost: boolean;
            appearance: "default" | "pill" | "circle" | "badged";
            caps: boolean;
        }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
            $slots: {
                default?(_: {}): any;
                'dismiss-icon'?(_: {}): any;
            };
        });
        "mt-button": {
            new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
                is?: import('vue').Component | string;
                disabled?: boolean;
                variant?: "primary" | "secondary" | "tertiary" | "critical" | "action";
                ghost?: boolean;
                size?: "x-small" | "small" | "default" | "large";
                square?: boolean;
                block?: boolean;
                link?: string;
                isLoading?: boolean;
            }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
                size: "x-small" | "small" | "default" | "large";
                link: string;
                variant: "primary" | "secondary" | "tertiary" | "critical" | "action";
                is: import('vue').Component | string;
            }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<{
                is?: import('vue').Component | string;
                disabled?: boolean;
                variant?: "primary" | "secondary" | "tertiary" | "critical" | "action";
                ghost?: boolean;
                size?: "x-small" | "small" | "default" | "large";
                square?: boolean;
                block?: boolean;
                link?: string;
                isLoading?: boolean;
            }> & Readonly<{}>, {}, {}, {}, {}, {
                size: "x-small" | "small" | "default" | "large";
                link: string;
                variant: "primary" | "secondary" | "tertiary" | "critical" | "action";
                is: import('vue').Component | string;
            }>;
            __isFragment?: never;
            __isTeleport?: never;
            __isSuspense?: never;
        } & import('vue').ComponentOptionsBase<Readonly<{
            is?: import('vue').Component | string;
            disabled?: boolean;
            variant?: "primary" | "secondary" | "tertiary" | "critical" | "action";
            ghost?: boolean;
            size?: "x-small" | "small" | "default" | "large";
            square?: boolean;
            block?: boolean;
            link?: string;
            isLoading?: boolean;
        }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
            size: "x-small" | "small" | "default" | "large";
            link: string;
            variant: "primary" | "secondary" | "tertiary" | "critical" | "action";
            is: import('vue').Component | string;
        }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
            $slots: Readonly<{
                default: null;
                iconFront: {
                    size: number;
                };
                iconBack: {
                    size: number;
                };
            }> & {
                default: null;
                iconFront: {
                    size: number;
                };
                iconBack: {
                    size: number;
                };
            };
        });
    }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
    "mt-highlight-text": import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        searchTerm: {
            type: StringConstructor;
            required: false;
            default: null;
        };
        text: {
            type: StringConstructor;
            required: false;
            default: null;
        };
    }>, {}, {}, {}, {
        searchAndReplace(): string;
        escapeRegExp(string: string): string;
    }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        searchTerm: {
            type: StringConstructor;
            required: false;
            default: null;
        };
        text: {
            type: StringConstructor;
            required: false;
            default: null;
        };
    }>> & Readonly<{}>, {
        text: string;
        searchTerm: string;
    }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
    "mt-select-result": import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        index: {
            type: NumberConstructor;
            required: true;
        };
        item: {
            type: ObjectConstructor;
            required: true;
        };
        disabled: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        selected: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        descriptionPosition: {
            type: StringConstructor;
            required: false;
            default: string;
            validator(value: string): boolean;
        };
    }>, {
        addActiveItemListener: ((listener: (index: number) => void) => void) | undefined;
        removeActiveItemListener: ((listener: (index: number) => void) => void) | undefined;
        addItemSelectByKeyboardListener: ((listener: (index: number) => void) => void) | undefined;
        removeItemSelectByKeyboardListener: ((listener: (index: number) => void) => void) | undefined;
    }, {
        active: boolean;
    }, {
        resultClasses(): (string | {
            [className: string]: boolean;
            "is--active": boolean;
            "is--disabled": boolean;
            "has--description": boolean;
        })[];
        hasDescriptionSlot(): boolean;
    }, {
        checkIfSelected(selectedItemIndex: number): void;
        checkIfActive(activeItemIndex: number): void;
        onClickResult(): void;
        onMouseEnter(): void;
    }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        index: {
            type: NumberConstructor;
            required: true;
        };
        item: {
            type: ObjectConstructor;
            required: true;
        };
        disabled: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        selected: {
            type: BooleanConstructor;
            required: false;
            default: boolean;
        };
        descriptionPosition: {
            type: StringConstructor;
            required: false;
            default: string;
            validator(value: string): boolean;
        };
    }>> & Readonly<{}>, {
        disabled: boolean;
        selected: boolean;
        descriptionPosition: string;
    }, {}, {
        "mt-icon": import('vue').DefineComponent<{
            name: string;
            color?: string;
            decorative?: boolean;
            size?: string;
            mode?: "solid" | "regular";
        }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
            name: string;
            color?: string;
            decorative?: boolean;
            size?: string;
            mode?: "solid" | "regular";
        }> & Readonly<{}>, {
            color: string;
            decorative: boolean;
            size: string;
            mode: "solid" | "regular";
        }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
    }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
