import { PropType } from 'vue';
export interface IOverlayProps {
    attach: boolean | string | Element | undefined;
    contained: boolean | undefined;
    disabled: boolean | undefined;
    persistent: boolean | undefined;
    scrim: boolean | string | undefined;
    modelValue: boolean | undefined;
    zIndex: number | string | undefined;
    contentClasses: string | string[] | Record<string, boolean> | undefined;
    contentProps: Record<string, unknown> | undefined;
}
export declare const makeOverlayProps: <Defaults extends {
    attach?: unknown;
    contained?: unknown;
    disabled?: unknown;
    persistent?: unknown;
    scrim?: unknown;
    modelValue?: unknown;
    closeOnBack?: unknown;
    zIndex?: unknown;
    contentClasses?: unknown;
    contentProps?: unknown;
    noClickAnimation?: unknown;
    opacity?: unknown;
} = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
    /**
     * Указывает, к какому DOM элементу будет прикреплен компонент.
     * По умолчанию прикрепляется к body.
     * Если передана строка, то ищет элемент по querySelector.
     * Если передан объект, то считает его допустимым Node элементом.
     */
    attach: {
        type: PropType<boolean | string | Element>;
        default: boolean;
    };
    /**
     * Указывает, что компонент будет прикреплен к родительскому элементу. Подразумевает absolute и attach в true.
     */
    contained: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Блокирует возможность клика или фокуса всплывающего компонента
     */
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Клик за пределами компонента или esc не будет закрывать его
     */
    persistent: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Фон для компонента. Строкой можно передать цвет фона.
     */
    scrim: {
        type: PropType<boolean | string>;
        default: boolean;
    };
    /**
     * Значение v-model. Управляет видимостью компонента.
     */
    modelValue: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Закрывать ли компонент при навигации назад
     */
    closeOnBack: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Значение z-index
     */
    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;
    };
    /**
     * Прозрачность overlay компонента
     */
    opacity: {
        type: PropType<string | number>;
        default: undefined;
    };
}, Defaults>;
