import { Mandatory } from "../../../viewModel";
interface Props {
    id: string;
    label?: string;
    mandatory: Mandatory;
    buttonLabel: string;
    buttonDisabled?: boolean;
    errorMessage?: string;
}
type __VLS_Props = Props;
declare function focus(): Promise<void>;
type __VLS_PublicProps = {
    'modelValue'?: any;
} & __VLS_Props;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        item?(_: {}): any;
    };
    refs: {
        'item-add-button': ({
            $: import("vue").ComponentInternalInstance;
            $data: {};
            $props: {
                readonly id: string;
                readonly color?: import("../../../action/button/viewModel.js").ButtonColor | undefined;
                readonly size?: import("../../../action/button/viewModel.js").ButtonSize | undefined;
                readonly stretch?: boolean | undefined;
                readonly shape?: import("../../../action/button/viewModel.js").ButtonShape | undefined;
                readonly cursor?: import("../../../action/button/viewModel.js").ButtonCursor | undefined;
                readonly iconLeft?: string | undefined;
                readonly iconRight?: string | undefined;
                readonly iconAlone?: string | undefined;
                readonly disabled?: boolean | undefined;
                readonly stopPropagation?: boolean | undefined;
                readonly ariaLabel: string;
                readonly tooltipLabel?: string | undefined;
                readonly tooltipPosition?: import("../../../viewModel").OverlayPosition | undefined;
                readonly actionLocker?: boolean | undefined;
                readonly showOverflow?: boolean | undefined;
                readonly onAction?: ((e: MouseEvent | KeyboardEvent) => any) | undefined;
            } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            };
            $slots: Readonly<{
                [name: string]: import("vue").Slot<any> | undefined;
            }>;
            $root: import("vue").ComponentPublicInstance | null;
            $parent: import("vue").ComponentPublicInstance | null;
            $host: Element | null;
            $emit: (event: "action", e: MouseEvent | KeyboardEvent) => void;
            $el: HTMLButtonElement;
            $options: import("vue").ComponentOptionsBase<Readonly<import("../../../action/button/viewModel.js").ButtonProperties> & Readonly<{
                onAction?: ((e: MouseEvent | KeyboardEvent) => any) | undefined;
            }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
                action: (e: MouseEvent | KeyboardEvent) => any;
            }, string, {
                size: import("../../../action/button/viewModel.js").ButtonSize;
                disabled: boolean;
                color: import("../../../action/button/viewModel.js").ButtonColor;
                stretch: boolean;
                shape: import("../../../action/button/viewModel.js").ButtonShape;
                cursor: import("../../../action/button/viewModel.js").ButtonCursor;
                stopPropagation: boolean;
                ariaLabel: string;
                actionLocker: boolean;
            }, {}, 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 import("vue").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<{
            size: import("../../../action/button/viewModel.js").ButtonSize;
            disabled: boolean;
            color: import("../../../action/button/viewModel.js").ButtonColor;
            stretch: boolean;
            shape: import("../../../action/button/viewModel.js").ButtonShape;
            cursor: import("../../../action/button/viewModel.js").ButtonCursor;
            stopPropagation: boolean;
            ariaLabel: string;
            actionLocker: boolean;
        }> & Omit<Readonly<import("../../../action/button/viewModel.js").ButtonProperties> & Readonly<{
            onAction?: ((e: MouseEvent | KeyboardEvent) => any) | undefined;
        }>, "size" | "disabled" | "color" | "stretch" | "shape" | "cursor" | "stopPropagation" | "ariaLabel" | "actionLocker"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
            $slots: {
                default?(_: {}): any;
            };
        }) | null;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
    checkField: (showError?: boolean, onMounted?: boolean) => {
        isValid: boolean;
        id: any;
        values: any;
    } | {
        isValid: boolean;
        id: any;
        values?: undefined;
    };
    focus: typeof focus;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (value: any) => any;
} & {
    searchObject: () => any;
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    "onUpdate:modelValue"?: ((value: any) => any) | undefined;
    onSearchObject?: (() => any) | undefined;
}>, {
    buttonDisabled: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
    'item-add-button': ({
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            readonly id: string;
            readonly color?: import("../../../action/button/viewModel.js").ButtonColor | undefined;
            readonly size?: import("../../../action/button/viewModel.js").ButtonSize | undefined;
            readonly stretch?: boolean | undefined;
            readonly shape?: import("../../../action/button/viewModel.js").ButtonShape | undefined;
            readonly cursor?: import("../../../action/button/viewModel.js").ButtonCursor | undefined;
            readonly iconLeft?: string | undefined;
            readonly iconRight?: string | undefined;
            readonly iconAlone?: string | undefined;
            readonly disabled?: boolean | undefined;
            readonly stopPropagation?: boolean | undefined;
            readonly ariaLabel: string;
            readonly tooltipLabel?: string | undefined;
            readonly tooltipPosition?: import("../../../viewModel").OverlayPosition | undefined;
            readonly actionLocker?: boolean | undefined;
            readonly showOverflow?: boolean | undefined;
            readonly onAction?: ((e: MouseEvent | KeyboardEvent) => any) | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any> | undefined;
        }>;
        $root: import("vue").ComponentPublicInstance | null;
        $parent: import("vue").ComponentPublicInstance | null;
        $host: Element | null;
        $emit: (event: "action", e: MouseEvent | KeyboardEvent) => void;
        $el: HTMLButtonElement;
        $options: import("vue").ComponentOptionsBase<Readonly<import("../../../action/button/viewModel.js").ButtonProperties> & Readonly<{
            onAction?: ((e: MouseEvent | KeyboardEvent) => any) | undefined;
        }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
            action: (e: MouseEvent | KeyboardEvent) => any;
        }, string, {
            size: import("../../../action/button/viewModel.js").ButtonSize;
            disabled: boolean;
            color: import("../../../action/button/viewModel.js").ButtonColor;
            stretch: boolean;
            shape: import("../../../action/button/viewModel.js").ButtonShape;
            cursor: import("../../../action/button/viewModel.js").ButtonCursor;
            stopPropagation: boolean;
            ariaLabel: string;
            actionLocker: boolean;
        }, {}, 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 import("vue").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<{
        size: import("../../../action/button/viewModel.js").ButtonSize;
        disabled: boolean;
        color: import("../../../action/button/viewModel.js").ButtonColor;
        stretch: boolean;
        shape: import("../../../action/button/viewModel.js").ButtonShape;
        cursor: import("../../../action/button/viewModel.js").ButtonCursor;
        stopPropagation: boolean;
        ariaLabel: string;
        actionLocker: boolean;
    }> & Omit<Readonly<import("../../../action/button/viewModel.js").ButtonProperties> & Readonly<{
        onAction?: ((e: MouseEvent | KeyboardEvent) => any) | undefined;
    }>, "size" | "disabled" | "color" | "stretch" | "shape" | "cursor" | "stopPropagation" | "ariaLabel" | "actionLocker"> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {} & {
        $slots: {
            default?(_: {}): any;
        };
    }) | null;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=View.vue.d.ts.map