/**
 * Layout Components
 * @countermeasure/web-components
 *
 * Shared layout utilities for sidebar, user menu, collapsibles, and sheets.
 */
export { AppShell, createAppShell } from './app-shell';
export type { AppShellConfig } from './app-shell';
export { PageHeader, createPageHeader } from './page-header';
export type { PageHeaderConfig, PageHeaderMetadata } from './page-header';
export interface SidebarConfig {
    storageKey?: string;
    desktopBreakpoint?: string;
    collapsedClass?: string;
    openClass?: string;
}
export interface UserMenuConfig {
    triggerSelector?: string;
    dropdownSelector?: string;
    dropdownItemSelector?: string;
}
export interface CollapsibleConfig {
    scrollIntoView?: boolean;
    scrollBehavior?: ScrollBehavior;
    hiddenClass?: string;
}
export interface SheetConfig {
    key: string;
    sheet: HTMLElement;
    backdrop: HTMLElement;
    content: HTMLElement;
    fullPageLink?: HTMLAnchorElement | null | undefined;
    expandLink?: HTMLAnchorElement | null | undefined;
    focusSelector?: string | undefined;
}
export interface SheetSetupConfig {
    openClass?: string;
    hiddenClass?: string;
    backdropVisibleClass?: string;
    backdropHiddenClass?: string;
    spinnerHtml?: string;
    errorHtml?: string;
    /** Sanitize fetched sheet HTML before inserting it into the DOM. */
    sanitizeFetchedHtml?: boolean;
    /** Allow fetching sheet content from non-same-origin URLs. Default: false. */
    allowCrossOriginFetch?: boolean;
}
/**
 * Setup responsive sidebar with collapse/expand functionality.
 */
export declare function setupSidebar(config?: SidebarConfig): () => void;
/**
 * Setup user menu dropdown with keyboard navigation.
 */
export declare function setupUserMenu(config?: UserMenuConfig): () => void;
/**
 * Setup collapsible sections with toggle buttons.
 */
export declare function setupCollapsibles(config?: CollapsibleConfig): () => void;
/**
 * Setup side sheet/drawer components.
 */
export declare function setupSheets(setupConfig?: SheetSetupConfig): () => void;
/**
 * Setup keyboard navigation for sidebar nav items.
 */
export declare function setupNavKeyboard(): () => void;
/**
 * Initialize all layout components.
 */
export declare function initLayout(config?: {
    sidebar?: SidebarConfig;
    userMenu?: UserMenuConfig;
    collapsibles?: CollapsibleConfig;
    sheets?: SheetSetupConfig;
}): () => void;
//# sourceMappingURL=index.d.ts.map