import { ConfigurationService } from '../configuration'; import { MediaErrorEvent, ScreenShareState } from '../types'; import { TypedEventEmitter } from '../utils'; interface ScreenShareEventMap { stateChanged: (state: ScreenShareState) => void; error: (error: MediaErrorEvent) => void; streamStopped: (data: { streamId: string | undefined; state: ScreenShareState; }) => void; streamEnded: (data: { streamId: string | undefined; reason: string; state: ScreenShareState; }) => void; settingsUpdated: (data: { settings: MediaTrackSettings; state: ScreenShareState; }) => void; } export declare class ScreenShareService extends TypedEventEmitter { private configService; private stream; private isEnabled; private trackEndedHandler; constructor(configService: ConfigurationService); private resolveConfig; startScreenShare(): Promise; private setupStreamHandlers; stopScreenShare(): void; private removeTrackListeners; private handleTrackEnded; isScreenSharing(): boolean; getStream(): MediaStream | null; getState(): ScreenShareState; getActiveSettings(): MediaTrackSettings | null; static checkCapabilities(): Promise<{ supported: boolean; capabilities?: MediaTrackSupportedConstraints; }>; updateSettings(constraints: MediaTrackConstraints): Promise; destroy(): void; } export {};