import { LitElement } from 'lit';
/**
* Navigation item interface for sidenav
*/
export interface NavItem {
label: string;
href?: string;
current?: boolean;
subnav?: NavItem[];
}
/**
* USA Documentation Template
*
* Documentation/content page template with side navigation.
* Ideal for help pages, guides, and structured content.
*
* **Template Structure (from USWDS):**
* - Skip navigation + Banner + Header
* - Side navigation (responsive)
* - Main content area with prose styling
* - Footer + Identifier
*
* @element usa-documentation-template
*
* @slot sidenav - Custom side navigation
* @slot breadcrumb - Breadcrumb navigation
* @slot content - Main documentation content
* @slot header - Site header
* @slot footer - Site footer
*
* @fires {CustomEvent} template-ready - Fired when template initializes
*
* @example Basic usage with content
* ```html
*
*
*
* Documentation Title
* Content goes here...
*
*
* ```
*
* @example With navigation items property
* ```html
*
* ...
*
* ```
*
* @uswds-template https://designsystem.digital.gov/templates/documentation-page/
*/
export declare class USADocumentationTemplate extends LitElement {
protected createRenderRoot(): this;
/**
* Page language attribute
*/
lang: string;
/**
* Whether to show the government banner
*/
showBanner: boolean;
/**
* Whether to show the identifier at the bottom
*/
showIdentifier: boolean;
/**
* Side navigation position
*/
sidenavPosition: 'left' | 'right';
/**
* Content column width
*/
contentWidth: 'narrow' | 'wide';
/**
* Side navigation items (JSON array)
*/
navItems: NavItem[];
/**
* Side navigation aria label
*/
sidenavLabel: string;
connectedCallback(): void;
firstUpdated(changedProperties: Map): void;
/**
* Check if a slot has content
*/
private hasSlotContent;
/**
* Render a single navigation item
*/
private renderNavItem;
/**
* Render side navigation
*/
private renderSidenav;
/**
* Get sidenav column classes
*/
private getSidenavClasses;
/**
* Get content column classes
*/
private getContentClasses;
render(): import('lit-html').TemplateResult<1>;
/**
* Public API: Set navigation items
*/
setNavItems(items: NavItem[]): void;
/**
* Public API: Add a navigation item
*/
addNavItem(item: NavItem): void;
/**
* Public API: Set current page in navigation
*/
setCurrentPage(href: string): void;
}
//# sourceMappingURL=usa-documentation-template.d.ts.map