import { Capability, IOpenIDUpdate, ISendEventDetails, ITurnServer, IReadEventRelationsResult, IRoomEvent, SimpleObservable, Symbols, Widget, WidgetDriver, WidgetKind, ISearchUserDirectoryResult, IGetMediaConfigResult } from "matrix-widget-api";
import { IContent } from "matrix-js-sdk/src/matrix";
export declare class StopGapWidgetDriver extends WidgetDriver {
    private forWidget;
    private forWidgetKind;
    private inRoomId?;
    private allowedCapabilities;
    constructor(allowedCapabilities: Capability[], forWidget: Widget, forWidgetKind: WidgetKind, virtual: boolean, inRoomId?: string | undefined);
    validateCapabilities(requested: Set<Capability>): Promise<Set<Capability>>;
    sendEvent(eventType: string, content: IContent, stateKey?: string | null, targetRoomId?: string): Promise<ISendEventDetails>;
    sendToDevice(eventType: string, encrypted: boolean, contentMap: {
        [userId: string]: {
            [deviceId: string]: object;
        };
    }): Promise<void>;
    private pickRooms;
    readRoomEvents(eventType: string, msgtype: string | undefined, limitPerRoom: number, roomIds?: (string | Symbols.AnyRoom)[]): Promise<IRoomEvent[]>;
    readStateEvents(eventType: string, stateKey: string | undefined, limitPerRoom: number, roomIds?: (string | Symbols.AnyRoom)[]): Promise<IRoomEvent[]>;
    askOpenID(observer: SimpleObservable<IOpenIDUpdate>): Promise<void>;
    navigate(uri: string): Promise<void>;
    getTurnServers(): AsyncGenerator<ITurnServer>;
    readEventRelations(eventId: string, roomId?: string, relationType?: string, eventType?: string, from?: string, to?: string, limit?: number, direction?: "f" | "b"): Promise<IReadEventRelationsResult>;
    searchUserDirectory(searchTerm: string, limit?: number): Promise<ISearchUserDirectoryResult>;
    getMediaConfig(): Promise<IGetMediaConfigResult>;
    uploadFile(file: XMLHttpRequestBodyInit): Promise<{
        contentUri: string;
    }>;
}
