import { ErrorCallback, ScreenShareConfiguration, ScreenShareMode, ScreenShareState, ScreenShareStateChangeCallback } from '../../types'; import { ConfigurationService } from '../../configuration'; import { ScreenShareService } from '../screen-share.service'; export declare class ScreenShareController { private configService; private screenShareService; private stateCallbacks; private errorCallbacks; private unsubscribes; constructor(configService: ConfigurationService, screenShareService: ScreenShareService); private setupEventListeners; destroy(): void; private handleConfigurationChange; updateDisplaySurface: (surface: "monitor" | "window" | "application") => void; updateAudioIncluded: (includeAudio: boolean) => void; updateMaxResolution: (maxWidth?: number, maxHeight?: number) => void; updateMaxFrameRate: (maxFrameRate?: number) => void; updateContentHint: (contentHint: "motion" | "detail" | "text" | "") => void; updateMode: (mode: ScreenShareMode) => void; private restart; start: () => Promise; stop: () => void; toggle: () => Promise; getConfiguration: () => ScreenShareConfiguration; updateConstraints: (constraints: Partial) => void; getActiveSettings: () => MediaTrackSettings | null; static checkCapabilities(): Promise<{ supported: boolean; capabilities?: MediaTrackSupportedConstraints; }>; onStateChange: (callback: ScreenShareStateChangeCallback) => VoidFunction; onError: (callback: ErrorCallback) => VoidFunction; private _notifyStateChange; private _notifyError; get state(): ScreenShareState; getStream(): MediaStream | null; getTrack(): MediaStreamTrack | null; }