export declare type MediaStreamCheckResult = {
    success: boolean;
    messages?: Array<string>;
};
declare type MediaStreamPromisePredicate = (mediaStream: Promise<MediaStream>) => Promise<MediaStreamCheckResult>;
declare type MediaStreamCheck = {
    what: string;
    predicate: MediaStreamPromisePredicate;
};
interface Expected {
    description: string;
    checks: MediaStreamCheck[];
}
declare type Matrix = Record<PermissionState, Expected | undefined>;
export interface Scenario {
    summary: string;
    description: string;
    constraints?: MediaStreamConstraints;
    expected: Matrix;
}
export declare const passUndefined: Scenario;
export declare const requestedDeviceTypeNotAttached: Scenario;
export declare const allConstraintsFalse: Scenario;
export declare const noDeviceWithDeviceId: Scenario;
export declare const existingDevice: Scenario;
export declare const scenarios: Map<string, Scenario>;
export {};
//# sourceMappingURL=Scenarios.d.ts.map