import { PropType, CSSProperties } from 'vue';
export declare const CDS_DRAWER_WIDTH: number;
export declare const CDS_DRAWER_WIDTH_MINIFIED: number;
export declare const CDS_DRAWER_Z_INDEX_INNER: number;
export declare const CDS_DRAWER_Z_INDEX_OUTER: number;
export declare const componentName = "CdsDrawer";
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    tag: Omit<{
        type: PropType<string>;
        default: string;
        description: string;
    }, "default" | "type"> & {
        type: PropType<string>;
        default: string;
    };
    theme: {
        type: PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    invertColor: {
        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;
    };
    /**
     * Показать/Скрыть
     */
    modelValue: {
        type: PropType<boolean | null>;
        default: null;
    };
    /**
     * Видимый всегда, в независимости от размера экрана
     */
    permanent: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Временный, показывается при изменении v-model и использует overlay для закрытия
     */
    temporary: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Уменьшенный вариант отображение (только иконки) до наведения мыши
     */
    minified: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Применяет position: fixed
     */
    fixed: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Позиционирование справа
     */
    right: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Добавляет границы между элементами
     */
    border: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Использовать fixed для слотов c внутренним скроллом
     */
    fixedSlots: {
        type: PropType<boolean>;
        default: boolean;
    };
}>, {
    attrs: {
        [x: string]: unknown;
    };
    drawerRef: import('vue').Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
    hasPrependSlot: import('vue').ComputedRef<boolean>;
    hasAppendSlot: import('vue').ComputedRef<boolean>;
    hasOverlay: import('vue').ComputedRef<boolean | null>;
    drawerClasses: import('vue').ComputedRef<{
        'cds-drawer--active': boolean;
        'cds-drawer--hover': boolean;
        'cds-drawer--temporary': boolean;
        'cds-drawer--minified': boolean;
        'cds-drawer--right': boolean;
        'cds-drawer--fixed': boolean;
        'cds-drawer--border': boolean;
        'cds-drawer--fixed-slots': boolean;
    }>;
    invertColorClasses: import('vue').ComputedRef<string | undefined>;
    themeClasses: Readonly<import('vue').ComputedRef<string | undefined>>;
    styles: import('vue').ComputedRef<CSSProperties>;
    onClose: () => void;
    onMouseenter: () => void;
    onMouseleave: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    /**
     * Событие открытия
     * @type { boolean }
     */
    opened: (value: boolean) => true;
    /**
     * Событие закрытия
     * @type { boolean }
     */
    closed: (value: boolean) => true;
    /**
     * Событие изменения v-model
     * @type { boolean }
     */
    'update:modelValue': (value: boolean) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    tag: Omit<{
        type: PropType<string>;
        default: string;
        description: string;
    }, "default" | "type"> & {
        type: PropType<string>;
        default: string;
    };
    theme: {
        type: PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    invertColor: {
        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;
    };
    /**
     * Показать/Скрыть
     */
    modelValue: {
        type: PropType<boolean | null>;
        default: null;
    };
    /**
     * Видимый всегда, в независимости от размера экрана
     */
    permanent: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Временный, показывается при изменении v-model и использует overlay для закрытия
     */
    temporary: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Уменьшенный вариант отображение (только иконки) до наведения мыши
     */
    minified: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Применяет position: fixed
     */
    fixed: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Позиционирование справа
     */
    right: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Добавляет границы между элементами
     */
    border: {
        type: PropType<boolean>;
        default: boolean;
    };
    /**
     * Использовать fixed для слотов c внутренним скроллом
     */
    fixedSlots: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & Readonly<{
    onOpened?: ((value: boolean) => any) | undefined;
    "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
    onClosed?: ((value: boolean) => any) | undefined;
}>, {
    tag: string;
    fixed: boolean;
    invertColor: boolean;
    modelValue: boolean | null;
    height: string | number;
    width: string | number;
    maxHeight: string | number;
    maxWidth: string | number;
    minHeight: string | number;
    minWidth: string | number;
    theme: string;
    right: boolean;
    border: boolean;
    permanent: boolean;
    temporary: boolean;
    minified: boolean;
    fixedSlots: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
