import type { Markup } from '../Markup';
import type { RenderControllerProxy } from '../../controllers/RenderControllerProxy';
import type { SectionBoxDisplayManager } from '../../sectioning/SectionBoxDisplayManager';
import type { Viewpoint, Visibility } from '../../api/types/Viewpoint';
import type { RenderModeOrigin, SectionBoxOrigin } from '../../api/analytic_events/analyticKeys';
type ViewpointOrigins = {
    sectionBox?: SectionBoxOrigin;
    renderMode?: RenderModeOrigin;
};
export declare class ViewpointManager {
    private renderController;
    private sectionBoxDisplayManager;
    private markup;
    constructor(params: {
        renderController: RenderControllerProxy;
        sectionBoxDisplayManager: SectionBoxDisplayManager;
        markup: Markup;
    });
    activateHomeViewpoint: () => Promise<void>;
    private activateViewpoint;
    getViewpoint(options?: {
        defaultVisibilityAlwaysTrue?: boolean;
    }): Promise<Viewpoint>;
    setViewpoint(viewpoint: Viewpoint, options?: {
        origins?: ViewpointOrigins;
    }): Promise<void>;
    setVisibility(visibility: Visibility): Promise<void>;
    getVisibility(options?: {
        defaultVisibilityAlwaysTrue?: boolean;
    }): Promise<Visibility>;
}
export {};
