import { ComputedRef, Ref } from 'vue';
export declare const SIDEBAR_COOKIE_NAME = "sidebar_state";
export declare const SIDEBAR_COOKIE_MAX_AGE: number;
export declare const SIDEBAR_WIDTH = "16rem";
export declare const SIDEBAR_WIDTH_DEFAULT = 256;
export declare const SIDEBAR_WIDTH_MIN = 240;
export declare const SIDEBAR_WIDTH_MAX = 480;
export declare const SIDEBAR_WIDTH_MOBILE = "18rem";
export declare const SIDEBAR_WIDTH_ICON = "3rem";
export declare const SIDEBAR_KEYBOARD_SHORTCUT = "b";
export declare const SIDEBAR_WIDTH_STORAGE_KEY = "sidebar_width";
export type SidebarContextValue = {
    state: ComputedRef<'expanded' | 'collapsed'>;
    open: Ref<boolean>;
    setOpen: (value: boolean) => void;
    isMobile: Ref<boolean>;
    openMobile: Ref<boolean>;
    setOpenMobile: (value: boolean) => void;
    toggleSidebar: () => void;
};
export declare const useSidebar: <T extends SidebarContextValue | null | undefined = SidebarContextValue>(fallback?: T | undefined) => T extends null ? SidebarContextValue | null : SidebarContextValue, provideSidebarContext: (contextValue: SidebarContextValue) => SidebarContextValue;
/**
 * Same as `useSidebar()` when inside `SidebarProvider`, otherwise `null`.
 */
export declare function useSidebarOptional(): SidebarContextValue | null;
