import { PropType } from 'vue';
export declare const componentName = "CdsOverlay";
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    _disableGlobalStack: {
        type: BooleanConstructor;
        default: undefined;
    };
    transition: {
        type: PropType<string | boolean | (import('vue').TransitionProps & {
            component?: import('vue').Component;
        })>;
        default: string;
        validator: (value: unknown) => boolean;
    };
    eager: {
        type: PropType<boolean>;
        default: boolean;
    };
    scrollStrategy: {
        type: PropType<("close" | "none" | "block" | "reposition") | ((data: import('./composable').IScrollStrategyData, props: import('./composable').IScrollStrategyProps, scope: import('vue').EffectScope) => void)>;
        default: string;
        validator: (value: any) => boolean;
    };
    locationStrategy: {
        type: PropType<("static" | "connected") | ((data: import('./composable').ILocationStrategyData, props: import('./composable').ILocationStrategyProps, contentStyles: import('vue').Ref<Record<string, string>>) => undefined | {
            updateLocation: (event: Event | HTMLElement[]) => void;
        })>;
        default: string;
        validator: (value: any) => boolean;
    };
    location: {
        type: PropType<import('../../utils').TAnchor>;
        default: string;
    };
    origin: {
        type: PropType<import('../../utils').TAnchor | "auto" | "overlap">;
        default: string;
    };
    offset: {
        type: PropType<number | string | number[]>;
        default: null;
    };
    height: {
        type: PropType<number | string>;
        default: string;
    };
    width: {
        type: PropType<number | string>;
        default: string;
    };
    maxHeight: {
        type: PropType<number | string>;
        default: string;
    };
    maxWidth: {
        type: PropType<number | string>;
        default: string;
    };
    minHeight: {
        type: PropType<number | string>;
        default: string;
    };
    minWidth: {
        type: PropType<number | string>;
        default: string;
    };
    closeDelay: {
        type: PropType<number | string>;
        default: null;
    };
    openDelay: {
        type: PropType<number | string>;
        default: null;
    };
    activator: {
        type: PropType<"parent" | string | Element | import('vue').ComponentPublicInstance>;
        default: null;
    };
    activatorProps: {
        type: PropType<Record<string, any>>;
        default: () => {};
    };
    target: {
        type: PropType<"parent" | "cursor" | (string & {}) | Element | import('vue').ComponentPublicInstance | [x: number, y: number] | undefined>;
        default: undefined;
    };
    openOnClick: {
        type: PropType<boolean | undefined>;
        default: undefined;
    };
    openOnHover: {
        type: PropType<boolean>;
        default: boolean;
    };
    openOnFocus: {
        type: PropType<boolean | undefined>;
        default: undefined;
    };
    closeOnContentClick: {
        type: PropType<boolean>;
        default: boolean;
    };
    attach: {
        type: PropType<boolean | string | Element>;
        default: boolean;
    };
    contained: {
        type: PropType<boolean>;
        default: boolean;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    persistent: {
        type: PropType<boolean>;
        default: boolean;
    };
    scrim: {
        type: PropType<boolean | string>;
        default: boolean;
    };
    modelValue: {
        type: PropType<boolean>;
        default: boolean;
    };
    closeOnBack: {
        type: PropType<boolean>;
        default: boolean;
    };
    zIndex: {
        type: PropType<number | string>;
        default: number;
    };
    contentClasses: {
        type: PropType<string | string[] | Record<string, boolean>>;
        default: null;
    };
    contentProps: {
        type: PropType<Record<string, unknown>>;
        default: () => {};
    };
    noClickAnimation: {
        type: PropType<boolean>;
        default: boolean;
    };
    opacity: {
        type: PropType<string | number>;
        default: undefined;
    };
    /**
     * Применяет position: absolute к содержимому оверлея
     */
    absolute: {
        type: PropType<boolean>;
        default: boolean;
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    /**
     * Событие при изменении значения (v-model)
     * @type { boolean }
     */
    'update:modelValue': (value: boolean) => true;
    /**
     * Событие, которое срабатывает при клике вне оверлея.
     */
    'click:outside': (event: MouseEvent) => true;
    /**
     * Событие после появления оверлея
     */
    afterEnter: () => true;
    /**
     * Событие после исчезновения оверлея
     */
    afterLeave: () => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    _disableGlobalStack: {
        type: BooleanConstructor;
        default: undefined;
    };
    transition: {
        type: PropType<string | boolean | (import('vue').TransitionProps & {
            component?: import('vue').Component;
        })>;
        default: string;
        validator: (value: unknown) => boolean;
    };
    eager: {
        type: PropType<boolean>;
        default: boolean;
    };
    scrollStrategy: {
        type: PropType<("close" | "none" | "block" | "reposition") | ((data: import('./composable').IScrollStrategyData, props: import('./composable').IScrollStrategyProps, scope: import('vue').EffectScope) => void)>;
        default: string;
        validator: (value: any) => boolean;
    };
    locationStrategy: {
        type: PropType<("static" | "connected") | ((data: import('./composable').ILocationStrategyData, props: import('./composable').ILocationStrategyProps, contentStyles: import('vue').Ref<Record<string, string>>) => undefined | {
            updateLocation: (event: Event | HTMLElement[]) => void;
        })>;
        default: string;
        validator: (value: any) => boolean;
    };
    location: {
        type: PropType<import('../../utils').TAnchor>;
        default: string;
    };
    origin: {
        type: PropType<import('../../utils').TAnchor | "auto" | "overlap">;
        default: string;
    };
    offset: {
        type: PropType<number | string | number[]>;
        default: null;
    };
    height: {
        type: PropType<number | string>;
        default: string;
    };
    width: {
        type: PropType<number | string>;
        default: string;
    };
    maxHeight: {
        type: PropType<number | string>;
        default: string;
    };
    maxWidth: {
        type: PropType<number | string>;
        default: string;
    };
    minHeight: {
        type: PropType<number | string>;
        default: string;
    };
    minWidth: {
        type: PropType<number | string>;
        default: string;
    };
    closeDelay: {
        type: PropType<number | string>;
        default: null;
    };
    openDelay: {
        type: PropType<number | string>;
        default: null;
    };
    activator: {
        type: PropType<"parent" | string | Element | import('vue').ComponentPublicInstance>;
        default: null;
    };
    activatorProps: {
        type: PropType<Record<string, any>>;
        default: () => {};
    };
    target: {
        type: PropType<"parent" | "cursor" | (string & {}) | Element | import('vue').ComponentPublicInstance | [x: number, y: number] | undefined>;
        default: undefined;
    };
    openOnClick: {
        type: PropType<boolean | undefined>;
        default: undefined;
    };
    openOnHover: {
        type: PropType<boolean>;
        default: boolean;
    };
    openOnFocus: {
        type: PropType<boolean | undefined>;
        default: undefined;
    };
    closeOnContentClick: {
        type: PropType<boolean>;
        default: boolean;
    };
    attach: {
        type: PropType<boolean | string | Element>;
        default: boolean;
    };
    contained: {
        type: PropType<boolean>;
        default: boolean;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    persistent: {
        type: PropType<boolean>;
        default: boolean;
    };
    scrim: {
        type: PropType<boolean | string>;
        default: boolean;
    };
    modelValue: {
        type: PropType<boolean>;
        default: boolean;
    };
    closeOnBack: {
        type: PropType<boolean>;
        default: boolean;
    };
    zIndex: {
        type: PropType<number | string>;
        default: number;
    };
    contentClasses: {
        type: PropType<string | string[] | Record<string, boolean>>;
        default: null;
    };
    contentProps: {
        type: PropType<Record<string, unknown>>;
        default: () => {};
    };
    noClickAnimation: {
        type: PropType<boolean>;
        default: boolean;
    };
    opacity: {
        type: PropType<string | number>;
        default: undefined;
    };
    /**
     * Применяет position: absolute к содержимому оверлея
     */
    absolute: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
    "onClick:outside"?: ((event: MouseEvent) => any) | undefined;
    onAfterEnter?: (() => any) | undefined;
    onAfterLeave?: (() => any) | undefined;
}>, {
    location: import('../../utils').TAnchor;
    disabled: boolean;
    modelValue: boolean;
    transition: string | boolean | (import('vue').TransitionProps & {
        component?: import('vue').Component;
    });
    attach: string | boolean | Element;
    contained: boolean;
    persistent: boolean;
    scrim: string | boolean;
    closeOnBack: boolean;
    zIndex: string | number;
    contentClasses: string | string[] | Record<string, boolean>;
    contentProps: Record<string, unknown>;
    noClickAnimation: boolean;
    opacity: string | number;
    eager: boolean;
    closeDelay: string | number;
    openDelay: string | number;
    height: string | number;
    width: string | number;
    maxHeight: string | number;
    maxWidth: string | number;
    minHeight: string | number;
    minWidth: string | number;
    activatorProps: Record<string, any>;
    activator: string | Element | import('vue').ComponentPublicInstance;
    origin: import('../../utils').TAnchor | "auto" | "overlap";
    absolute: boolean;
    target: Element | "parent" | (string & {}) | import('vue').ComponentPublicInstance | "cursor" | [x: number, y: number] | undefined;
    offset: string | number | number[];
    openOnClick: boolean | undefined;
    openOnHover: boolean;
    openOnFocus: boolean | undefined;
    closeOnContentClick: boolean;
    locationStrategy: "static" | "connected" | ((data: import('./composable').ILocationStrategyData, props: import('./composable').ILocationStrategyProps, contentStyles: import('vue').Ref<Record<string, string>>) => undefined | {
        updateLocation: (event: Event | HTMLElement[]) => void;
    });
    scrollStrategy: "close" | "none" | "block" | "reposition" | ((data: import('./composable').IScrollStrategyData, props: import('./composable').IScrollStrategyProps, scope: import('vue').EffectScope) => void);
    _disableGlobalStack: boolean;
}, {}, {}, {
    ClickOutside: {
        mounted(el: HTMLElement, binding: import('../../directives/click-outside').IClickOutsideDirectiveBinding): void;
        unmounted(el: HTMLElement, binding: import('../../directives/click-outside').IClickOutsideDirectiveBinding): void;
    };
}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
