import type { RenderControllerProxy } from '../controllers/RenderControllerProxy';
import { SectionBoxOrigin } from '../api/analytic_events';
import type { BoundingBox } from '../types/Math';
type Configuration = {
    dropdown?: boolean;
    hidePlanes?: boolean;
    overrideSectionBoxSetup?: boolean;
};
type SectionBoxDisplayStatus = {
    enabled: boolean;
    configuration: Required<Configuration>;
    bbox: BoundingBox;
};
export type SectionBoxDisplayToggledPayload = {
    value: boolean;
    configuration: Required<Configuration>;
};
export type SectionBoxDisplayConfiguredPayload = {
    previous: Required<Configuration>;
    current: Required<Configuration>;
    enabled: boolean;
};
export declare class SectionBoxDisplayManager {
    private static isSectionBoxDisplayEnabled;
    private configuration;
    private renderControllerProxy;
    constructor(params: {
        renderController: RenderControllerProxy;
    });
    static isEnabled(): boolean;
    static readonly DEFAULT_CONFIG: Readonly<Required<Configuration>>;
    getConfiguration(): Configuration;
    getSectionBoxDisplay(): Promise<SectionBoxDisplayStatus>;
    configureSectionBoxDisplay(config?: Configuration): void;
    setupSectionBox(enable: boolean): Promise<void>;
    toggleSectionBoxDisplay(params: {
        enable: boolean;
        origin?: SectionBoxOrigin;
        overrideSectionBoxSetup?: boolean;
    }): Promise<void>;
}
export {};
