import { PropType } from 'vue';
export declare const componentName = "CdsMenu";
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    theme: {
        type: PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    transition: {
        type: PropType<string | boolean | (import('vue').TransitionProps & {
            component?: import('vue').Component;
        })>;
        default: string;
        validator: (value: unknown) => 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;
    };
    eager: {
        type: PropType<boolean>;
        default: boolean;
    };
    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: Omit<{
        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;
    }, "default" | "type"> & {
        type: PropType<NonNullable<"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: NonNullable<"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;
        })>;
    };
    location: {
        type: PropType<import('../../utils').TAnchor>;
        default: string;
    };
    origin: {
        type: PropType<import('../../utils').TAnchor | "auto" | "overlap">;
        default: string;
    };
    offset: Omit<{
        type: PropType<number | string | number[]>;
        default: null;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | number | number[]>>;
        default: NonNullable<string | number | number[]>;
    };
    closeDelay: Omit<{
        type: PropType<number | string>;
        default: null;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | number>>;
        default: NonNullable<string | number>;
    };
    openDelay: Omit<{
        type: PropType<number | string>;
        default: null;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | number>>;
        default: NonNullable<string | number>;
    };
    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: Omit<{
        type: PropType<boolean>;
        default: boolean;
    }, "default" | "type"> & {
        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: Omit<{
        type: PropType<boolean | string>;
        default: boolean;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | boolean>>;
        default: NonNullable<string | 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;
    };
    /**
     * Уникальный идентификатор
     */
    id: {
        type: PropType<string>;
        default: undefined;
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    /**
     * Событие при изменении значения (v-model)
     * @type { boolean }
     */
    'update:modelValue': (value: boolean) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    theme: {
        type: PropType<import('../../composable').TTheme | string>;
        available: readonly ["cdsLight", "cdsDark", "b2bLight", "b2bDark", "promoLight", "promoDark"];
        default: undefined;
    };
    transition: {
        type: PropType<string | boolean | (import('vue').TransitionProps & {
            component?: import('vue').Component;
        })>;
        default: string;
        validator: (value: unknown) => 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;
    };
    eager: {
        type: PropType<boolean>;
        default: boolean;
    };
    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: Omit<{
        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;
    }, "default" | "type"> & {
        type: PropType<NonNullable<"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: NonNullable<"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;
        })>;
    };
    location: {
        type: PropType<import('../../utils').TAnchor>;
        default: string;
    };
    origin: {
        type: PropType<import('../../utils').TAnchor | "auto" | "overlap">;
        default: string;
    };
    offset: Omit<{
        type: PropType<number | string | number[]>;
        default: null;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | number | number[]>>;
        default: NonNullable<string | number | number[]>;
    };
    closeDelay: Omit<{
        type: PropType<number | string>;
        default: null;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | number>>;
        default: NonNullable<string | number>;
    };
    openDelay: Omit<{
        type: PropType<number | string>;
        default: null;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | number>>;
        default: NonNullable<string | number>;
    };
    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: Omit<{
        type: PropType<boolean>;
        default: boolean;
    }, "default" | "type"> & {
        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: Omit<{
        type: PropType<boolean | string>;
        default: boolean;
    }, "default" | "type"> & {
        type: PropType<NonNullable<string | boolean>>;
        default: NonNullable<string | 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;
    };
    /**
     * Уникальный идентификатор
     */
    id: {
        type: PropType<string>;
        default: undefined;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
}>, {
    location: import('../../utils').TAnchor;
    disabled: boolean;
    id: string;
    modelValue: boolean;
    transition: string | boolean | (import('vue').TransitionProps & {
        component?: import('vue').Component;
    });
    attach: string | boolean | Element;
    contained: boolean;
    persistent: boolean;
    scrim: NonNullable<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: NonNullable<string | number>;
    openDelay: NonNullable<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: import('../../utils').TAnchor | "auto" | "overlap";
    target: Element | "parent" | (string & {}) | import('vue').ComponentPublicInstance | "cursor" | [x: number, y: number] | undefined;
    offset: NonNullable<string | number | number[]>;
    openOnClick: boolean | undefined;
    openOnHover: boolean;
    openOnFocus: boolean | undefined;
    closeOnContentClick: boolean;
    locationStrategy: NonNullable<"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)>;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
