import { Component, ScopeBase } from "@ribajs/core";
export interface Anchor {
    element: HTMLHeadingElement;
    href: string;
    title: string;
    childs: Anchor[];
}
export interface Scope extends ScopeBase {
    headersStart: number;
    headersDepth: number;
    findHeaderIdDepth: number;
    headerParentSelector?: string;
    scrollOffset: number;
    scrollElement?: string;
    anchors: Anchor[];
}
export declare class Bs5ContentsComponent extends Component {
    static tagName: string;
    protected autobind: boolean;
    protected wrapperElement?: Element;
    static get observedAttributes(): string[];
    scope: Scope;
    constructor();
    protected connectedCallback(): void;
    protected getIdFromElementOrParent(element: HTMLElement, depth?: number): string | null;
    protected pushHeaders(wrapperElement: Element, headersStart: number, headersDepth: number, pushTo: Anchor[]): void;
    protected afterBind(): Promise<void>;
    protected requiredAttributes(): string[];
    protected attributeChangedCallback(attributeName: string, oldValue: any, newValue: any, namespace: string | null): Promise<void>;
    protected disconnectedCallback(): void;
    protected template(): Promise<string | null>;
}
