import { PropType, Component } from 'vue';
export declare const componentName = "CdsModal";
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    transition: Omit<{
        type: PropType<string | boolean | (import('vue').TransitionProps & {
            component?: Component;
        })>;
        default: string;
        validator: (value: unknown) => boolean;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | boolean | (import('vue').TransitionProps & {
            component?: Component;
        })> | {
            component: Component;
        }>;
        default: NonNullable<string | boolean | (import('vue').TransitionProps & {
            component?: Component;
        })> | {
            component: Component;
        };
    };
    scrollStrategy: Omit<{
        type: PropType<("close" | "none" | "block" | "reposition") | ((data: import('../CdsOverlay/composable').IScrollStrategyData, props: import('../CdsOverlay/composable').IScrollStrategyProps, scope: import('vue').EffectScope) => void)>;
        default: string;
        validator: (value: any) => boolean;
    }, "default" | "type"> & {
        type: PropType<NonNullable<"close" | "none" | "block" | "reposition" | ((data: import('../CdsOverlay/composable').IScrollStrategyData, props: import('../CdsOverlay/composable').IScrollStrategyProps, scope: import('vue').EffectScope) => void)>>;
        default: NonNullable<"close" | "none" | "block" | "reposition" | ((data: import('../CdsOverlay/composable').IScrollStrategyData, props: import('../CdsOverlay/composable').IScrollStrategyProps, scope: import('vue').EffectScope) => void)>;
    };
    locationStrategy: {
        type: PropType<("static" | "connected") | ((data: import('../CdsOverlay/composable').ILocationStrategyData, props: import('../CdsOverlay/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: Omit<{
        type: PropType<import('../../utils').TAnchor | "auto" | "overlap">;
        default: string;
    }, "default" | "type"> & {
        type: PropType<NonNullable<import('../../utils').TAnchor | "auto" | "overlap">>;
        default: NonNullable<import('../../utils').TAnchor | "auto" | "overlap">;
    };
    offset: {
        type: PropType<number | string | number[]>;
        default: null;
    };
    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: Omit<{
        type: PropType<number | string>;
        default: number;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | number>>;
        default: NonNullable<string | 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;
    };
    theme: {
        type: PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    size: {
        type: PropType<import('../../composable').TSize>;
        default: string;
        available: readonly ["xs", "sm", "md", "lg", "xl"];
        validator: (value: import('../../composable').TSize) => boolean;
    };
    loading: {
        type: PropType<boolean>;
        default: boolean;
    };
    closeDelay: {
        type: PropType<number | string>;
        default: null;
    };
    openDelay: {
        type: PropType<number | string>;
        default: null;
    };
    eager: {
        type: PropType<boolean>;
        default: boolean;
    };
    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;
    };
    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;
    };
    /**
     * Модальное окно на весь экран
     */
    fullscreen: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Модальное окно с прокруткой
     */
    scrollable: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Сохранять фокус внутри модального окна, по-умолчанию true.
     * Его можно отключить, если необходимо использовать собственный элемент для фокусировки
     */
    retainFocus: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * @deprecated Показывать кнопку закрытия модального окна (или слот dismissBtn)
     */
    dismissBtn: {
        type: PropType<boolean>;
        default: boolean;
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    /**
     * Событие изменения состояния модального окна
     * @param value
     */
    'update:modelValue': (value: boolean) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    transition: Omit<{
        type: PropType<string | boolean | (import('vue').TransitionProps & {
            component?: Component;
        })>;
        default: string;
        validator: (value: unknown) => boolean;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | boolean | (import('vue').TransitionProps & {
            component?: Component;
        })> | {
            component: Component;
        }>;
        default: NonNullable<string | boolean | (import('vue').TransitionProps & {
            component?: Component;
        })> | {
            component: Component;
        };
    };
    scrollStrategy: Omit<{
        type: PropType<("close" | "none" | "block" | "reposition") | ((data: import('../CdsOverlay/composable').IScrollStrategyData, props: import('../CdsOverlay/composable').IScrollStrategyProps, scope: import('vue').EffectScope) => void)>;
        default: string;
        validator: (value: any) => boolean;
    }, "default" | "type"> & {
        type: PropType<NonNullable<"close" | "none" | "block" | "reposition" | ((data: import('../CdsOverlay/composable').IScrollStrategyData, props: import('../CdsOverlay/composable').IScrollStrategyProps, scope: import('vue').EffectScope) => void)>>;
        default: NonNullable<"close" | "none" | "block" | "reposition" | ((data: import('../CdsOverlay/composable').IScrollStrategyData, props: import('../CdsOverlay/composable').IScrollStrategyProps, scope: import('vue').EffectScope) => void)>;
    };
    locationStrategy: {
        type: PropType<("static" | "connected") | ((data: import('../CdsOverlay/composable').ILocationStrategyData, props: import('../CdsOverlay/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: Omit<{
        type: PropType<import('../../utils').TAnchor | "auto" | "overlap">;
        default: string;
    }, "default" | "type"> & {
        type: PropType<NonNullable<import('../../utils').TAnchor | "auto" | "overlap">>;
        default: NonNullable<import('../../utils').TAnchor | "auto" | "overlap">;
    };
    offset: {
        type: PropType<number | string | number[]>;
        default: null;
    };
    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: Omit<{
        type: PropType<number | string>;
        default: number;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | number>>;
        default: NonNullable<string | 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;
    };
    theme: {
        type: PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    size: {
        type: PropType<import('../../composable').TSize>;
        default: string;
        available: readonly ["xs", "sm", "md", "lg", "xl"];
        validator: (value: import('../../composable').TSize) => boolean;
    };
    loading: {
        type: PropType<boolean>;
        default: boolean;
    };
    closeDelay: {
        type: PropType<number | string>;
        default: null;
    };
    openDelay: {
        type: PropType<number | string>;
        default: null;
    };
    eager: {
        type: PropType<boolean>;
        default: boolean;
    };
    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;
    };
    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;
    };
    /**
     * Модальное окно на весь экран
     */
    fullscreen: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Модальное окно с прокруткой
     */
    scrollable: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Сохранять фокус внутри модального окна, по-умолчанию true.
     * Его можно отключить, если необходимо использовать собственный элемент для фокусировки
     */
    retainFocus: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * @deprecated Показывать кнопку закрытия модального окна (или слот dismissBtn)
     */
    dismissBtn: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
}>, {
    size: "xs" | "sm" | "md" | "lg" | "xl";
    location: import('../../utils').TAnchor;
    loading: boolean;
    disabled: boolean;
    modelValue: boolean;
    transition: NonNullable<string | boolean | (import('vue').TransitionProps & {
        component?: Component;
    })> | {
        component: Component;
    };
    attach: string | boolean | Element;
    contained: boolean;
    persistent: boolean;
    scrim: string | boolean;
    closeOnBack: boolean;
    zIndex: NonNullable<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;
    theme: string;
    origin: NonNullable<import('../../utils').TAnchor | "auto" | "overlap">;
    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('../CdsOverlay/composable').ILocationStrategyData, props: import('../CdsOverlay/composable').ILocationStrategyProps, contentStyles: import('vue').Ref<Record<string, string>>) => undefined | {
        updateLocation: (event: Event | HTMLElement[]) => void;
    });
    scrollStrategy: NonNullable<"close" | "none" | "block" | "reposition" | ((data: import('../CdsOverlay/composable').IScrollStrategyData, props: import('../CdsOverlay/composable').IScrollStrategyProps, scope: import('vue').EffectScope) => void)>;
    fullscreen: boolean;
    scrollable: boolean;
    retainFocus: boolean;
    dismissBtn: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
