import { IViewer } from '../../IViewer.js'; import { Extension } from './Extension.js'; import { FilteringExtension } from './FilteringExtension.js'; import { PipelineOptions } from '../pipeline/Pipelines/Pipeline.js'; import { EdgesPipelineOptions } from '../pipeline/Pipelines/EdgesPipeline.js'; export declare enum ViewMode { DEFAULT = 0, SOLID = 1, PEN = 2, ARCTIC = 3, SHADED = 4 } export declare enum ViewModeEvent { Changed = "view-mode-changed" } export interface ViewModeEventPayload { [ViewModeEvent.Changed]: ViewMode; } export type ViewModeOptions = PipelineOptions & EdgesPipelineOptions; export declare class ViewModes extends Extension { protected filteringExtension: FilteringExtension; get inject(): (typeof FilteringExtension)[]; protected _viewModeOptions: Required; get viewModeOptions(): ViewModeOptions; protected _viewMode: ViewMode; get viewMode(): ViewMode; constructor(viewer: IViewer, filteringExtension: FilteringExtension); on(eventType: T, listener: (arg: ViewModeEventPayload[T]) => void): void; setViewMode(viewMode: ViewMode, options?: ViewModeOptions): void; protected updateViewModes(viewMode: ViewMode, options?: ViewModeOptions): void; protected updateViewModeOptions(options?: ViewModeOptions): void; }