import { ReactiveController, ReactiveElement } from 'lit';
/**
 * LayerController provides manage layer tracking for components. Ensures any component
 * that may be a layer on top of other components is given a ordered index relative
 * to other existing layers on the page.
 *
 * This makes layer tracking easier for CSS, such as targeting the top or bottom
 * layer element or setting a z-index ordering.
 */
export declare function layer<T extends ReactiveElement>(): ClassDecorator;
export declare class LayerController<T extends ReactiveElement> implements ReactiveController {
    private host;
    private observer;
    constructor(host: T);
    get isActiveLayer(): boolean;
    get layerIndex(): number | null;
    private get layers();
    private set layers(value);
    hostConnected(): void;
    hostDisconnected(): void;
    private updateLayer;
    private addLayer;
    private removeLayer;
}
