import { LayerDef } from "@expofp/renderer";
import Rect from "../core/Rect";
export declare enum LayersMode {
    Default = 0,// one floor plans
    Separated = 1,// outdated
    Radio = 2,// multi floor plans
    CheckBox = 3
}
export declare enum LayerMode {
    Unset = 0,
    AlwaysVisible = 1,
    AlwaysHidden = 2,
    TurnedOn = 3,
    TurnedOff = 4
}
export declare class Layer {
    basePriority: number;
    name: string;
    description: string;
    frozen: boolean;
    rect: Rect;
    viewbox: Rect;
    configured: boolean;
    childLayers: Layer[];
    rootParent: Layer;
    mode: LayerMode;
    children: LayerDef[];
    pathway?: boolean;
    floorIndex?: number;
    loaded: boolean;
    visible: boolean;
    get shortName(): string;
}
export default class LayerStore {
    layers: Layer[];
    defaultLayer: Layer;
    mode: LayersMode;
    layersLoaded: boolean;
    private updateVisibilityTimeout;
    get visible(): Layer[];
    get loaded(): Layer[];
    get rectangle(): Rect | null;
    get pathwayLayers(): Layer[];
    get floors(): (Floor & {
        layer: Layer;
    })[];
    updateVisibility(layerOrName: string | Layer, visible: boolean): void;
    findLayer(z: string | number): Layer;
    getPathwayList(): Layer[];
    showPathWay(name: string): Promise<void>;
    hidePathways(): void;
}
//# sourceMappingURL=LayerStore.d.ts.map