import { Tracer } from '../stats'; interface BrowserPermissionConfig { constraints: DisplayMediaStreamOptions; queryName: PermissionName; tracer: Tracer | undefined; } export type BrowserPermissionState = PermissionState | 'prompting'; export declare class BrowserPermission { private readonly permission; private ready; private disposeController; private state; private wasPrompted; private listeners; private logger; constructor(permission: BrowserPermissionConfig); dispose(): void; getState(): Promise; prompt({ forcePrompt, throwOnNotAllowed, }?: { forcePrompt?: boolean; throwOnNotAllowed?: boolean; }): Promise; listen(cb: (state: BrowserPermissionState) => void): () => boolean; asObservable(): import("rxjs").Observable; asStateObservable(): import("rxjs").Observable; getIsPromptingObservable(): import("rxjs").Observable; private getStateObservable; private setState; } export {};