UNPKG

@fakes/media-devices

Version:

A interactive fake implementation of MediaDevices interface in the browser for testing

37 lines 1.42 kB
import { Context } from './context'; import { PermissionStatusFake } from './permissions/PermissionStatusFake'; export declare enum RequestedMediaInput { Microphone = "Microphone", Camera = "Camera" } export declare type PermissionPromptAction = 'dismiss' | 'allow' | 'block'; export interface PermissionPrompt { requestedPermissions(): RequestedMediaInput[]; takeAction(action: PermissionPromptAction): void; } export interface PermissionRequest { deviceKind: MediaDeviceKind; granted: () => void; blocked: () => void; } export declare type UserConsent = { camera: PermissionState; microphone: PermissionState; }; export declare class UserConsentTracker { private readonly _context; private readonly _userConsent; private readonly _trackedPermissionStatus; private _pendingPermissionRequest; constructor(_context: Context, _userConsent: UserConsent); permissionStatusFor(kind: keyof UserConsent): PermissionStatusFake; setPermissionFor(kind: keyof UserConsent, state: PermissionState): void; requestPermissionFor(permissionRequest: PermissionRequest): void; private permissionStateFor; private permissionGrantedFor; private permissionBlockedFor; deviceAccessPrompt(): Promise<PermissionPrompt>; private permissionPromptFor; accessAllowedFor(kind: MediaDeviceKind): boolean; } //# sourceMappingURL=UserConsentTracker.d.ts.map