import { Item as SelectorItem, ItemAll, ItemNew, Props, Size, Slots } from '../../../formsExt/selector2/types';
import { Group, Props } from './types';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, ComponentInternalInstance, VNodeProps, AllowedComponentProps, ComponentCustomProps, ShallowUnwrapRef, Slot, ComponentPublicInstance, ComponentOptionsBase, GlobalComponents, GlobalDirectives, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ComponentCustomProperties } from 'vue';
import { Props } from '../../../forms/button/types';
import { TopLibPopup } from '../../../popup/lib/popup';
import { OnCleanup } from '@vue/reactivity';
type __VLS_Props = Props;
type __VLS_PublicProps = {
    'groupId': Props['groupId'];
    'group': Props['group'];
} & __VLS_Props;
declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    addGroup: (group: Group) => any;
    "update:groupId": (value: number | null) => any;
    "update:group": (value: ItemAll | ItemNew | Group) => any;
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    onAddGroup?: ((group: Group) => any) | undefined;
    "onUpdate:groupId"?: ((value: number | null) => any) | undefined;
    "onUpdate:group"?: ((value: ItemAll | ItemNew | Group) => any) | undefined;
}>, {
    on: boolean;
    addChanger: boolean;
    autoselect: "first" | "placeholder";
    addIcon: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    refSelector: ({
        $: ComponentInternalInstance;
        $data: {};
        $props: {
            readonly modelValue: Props["modelValue"];
            readonly items?: SelectorItem[] | undefined;
            readonly title?: string | undefined;
            readonly disabled?: boolean | undefined;
            readonly icon?: string | undefined;
            readonly modificator?: string | undefined;
            readonly size?: Size | undefined;
            readonly isError?: boolean | undefined;
            readonly openByFocusInput?: boolean | undefined;
            readonly searchType?: "none" | "inline" | "popup" | undefined;
            readonly searchFields: string[];
            readonly placeholder?: string | undefined;
            readonly api?: (Api.ClientRequest<any> | Api.ClientRequestCustom<any, any, any>) | undefined;
            readonly apiSetSearchParams?: ((api: NonNullable< Props["api"]>, search: string) => void) | undefined;
            readonly minLength?: number | undefined;
            readonly useCache?: boolean | undefined;
            readonly appendSearchToResult?: boolean | undefined;
            readonly multiselect?: boolean | undefined;
            readonly useAllItem?: boolean | string | undefined;
            readonly addChanger?: boolean | undefined;
            readonly buttonProps?: Props | undefined;
            readonly selectedAsPlaceholder?: boolean | undefined;
            readonly "onUpdate:modelValue"?: ((value: SelectorItem | SelectorItem[]) => any) | undefined;
            readonly onAppendItem?: ((item: SelectorItem) => any) | undefined;
        } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        } & {
            popupRef: ShallowUnwrapRef<{
                id: string;
                popup: TopLibPopup<undefined> | undefined;
            }> | null;
        };
        $slots: Readonly<{
            [name: string]: Slot<any> | undefined;
        }>;
        $root: ComponentPublicInstance | null;
        $parent: ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "update:modelValue", value: SelectorItem | SelectorItem[]) => void) & ((event: "appendItem", item: SelectorItem) => void);
        $el: any;
        $options: ComponentOptionsBase<Readonly<{
            modelValue: Props["modelValue"];
        } & Props> & Readonly<{
            "onUpdate:modelValue"?: ((value: SelectorItem | SelectorItem[]) => any) | undefined;
            onAppendItem?: ((item: SelectorItem) => any) | undefined;
        }>, {
            resetCache: (resetAPICache?: boolean) => void;
        }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
            "update:modelValue": (value: SelectorItem | SelectorItem[]) => any;
            appendItem: (item: SelectorItem) => any;
        }, string, {
            size: Size;
            openByFocusInput: boolean;
            items: SelectorItem[];
            searchFields: string[];
            searchType: "none" | "inline" | "popup";
            minLength: number;
        }, {}, string, {}, GlobalComponents, GlobalDirectives, string, 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: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
            renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
    } & Readonly<{
        size: Size;
        openByFocusInput: boolean;
        items: SelectorItem[];
        searchFields: string[];
        searchType: "none" | "inline" | "popup";
        minLength: number;
    }> & Omit<Readonly<{
        modelValue: Props["modelValue"];
    } & Props> & Readonly<{
        "onUpdate:modelValue"?: ((value: SelectorItem | SelectorItem[]) => any) | undefined;
        onAppendItem?: ((item: SelectorItem) => any) | undefined;
    }>, "resetCache" | ("size" | "openByFocusInput" | "items" | "searchFields" | "searchType" | "minLength")> & ShallowUnwrapRef<{
        resetCache: (resetAPICache?: boolean) => void;
    }> & {} & ComponentCustomProperties & {} & {
        $slots: Readonly< Slots> & Slots;
    }) | null;
}, any>;
export default _default;
