/**
 * StatusBar component
 * @countermeasure/web-components/components/status-bar
 */
export interface StatusBarSection {
    /** Stable unique identifier passed to `update(id, data)`. */
    id: string;
    /** Alignment slot inside the status bar. */
    position: 'left' | 'center' | 'right';
    /** Template invoked with the section's current data record. */
    template: (data: Record<string, unknown>) => string;
}
export interface StatusBarConfig {
    /** Container element (or selector) the bar is mounted into. */
    container: HTMLElement | string;
    /**
     * Initial sections.
     * @default []
     */
    sections?: StatusBarSection[];
}
export declare class StatusBar {
    private readonly containerEl;
    private readonly rootEl;
    private readonly leftEl;
    private readonly centerEl;
    private readonly rightEl;
    private readonly sections;
    private readonly sectionElements;
    private destroyed;
    constructor(config: StatusBarConfig);
    update(sectionId: string, data: Record<string, unknown>): void;
    addSection(section: StatusBarSection): void;
    destroy(): void;
    private getPositionContainer;
}
//# sourceMappingURL=index.d.ts.map