import type { Corti, CortiAuth } from "@corti/sdk";
import { type CSSResultGroup, LitElement } from "lit";
import type { ProxyOptions, RecordingState } from "../types.js";
export declare const regionContext: {
    __context__: string | undefined;
};
export declare const tenantNameContext: {
    __context__: string | undefined;
};
export declare const languagesContext: {
    __context__: string[] | undefined;
};
export declare const devicesContext: {
    __context__: MediaDeviceInfo[] | undefined;
};
export declare const selectedDeviceContext: {
    __context__: MediaDeviceInfo | undefined;
};
export declare const recordingStateContext: {
    __context__: RecordingState;
};
export declare const accessTokenContext: {
    __context__: string | undefined;
};
export declare const dictationConfigContext: {
    __context__: Corti.TranscribeConfig | undefined;
};
export declare const authConfigContext: {
    __context__: CortiAuth.AuthTokenDerivable | undefined;
};
export declare const socketUrlContext: {
    __context__: string | undefined;
};
export declare const socketProxyContext: {
    __context__: ProxyOptions | undefined;
};
export declare const debugDisplayAudioContext: {
    __context__: boolean | undefined;
};
export declare const pushToTalkKeybindingContext: {
    __context__: string | null | undefined;
};
export declare const toggleToTalkKeybindingContext: {
    __context__: string | null | undefined;
};
export declare class DictationRoot extends LitElement {
    #private;
    region?: string;
    tenantName?: string;
    recordingState: RecordingState;
    _accessToken?: string;
    set accessToken(token: string | undefined);
    get accessToken(): string | undefined;
    _authConfig?: CortiAuth.AuthTokenDerivable;
    set authConfig(config: CortiAuth.AuthTokenDerivable | undefined);
    get authConfig(): CortiAuth.AuthTokenDerivable | undefined;
    socketUrl?: string;
    socketProxy?: ProxyOptions;
    dictationConfig?: Corti.TranscribeConfig;
    _languages?: Corti.TranscribeSupportedLanguage[];
    set languages(value: Corti.TranscribeSupportedLanguage[] | undefined);
    get languages(): Corti.TranscribeSupportedLanguage[] | undefined;
    _devices?: MediaDeviceInfo[];
    set devices(value: MediaDeviceInfo[] | undefined);
    get devices(): MediaDeviceInfo[] | undefined;
    selectedDevice?: MediaDeviceInfo;
    debug_displayAudio?: boolean;
    pushToTalkKeybinding?: string | null;
    toggleToTalkKeybinding?: string | null;
    noWrapper: boolean;
    static styles: CSSResultGroup;
    constructor();
    /**
     * Sets the access token and parses region/tenant from it.
     * @returns ServerConfig with environment, tenant, and accessToken
     * @deprecated Use 'accessToken' property instead.
     */
    setAccessToken(token: string | undefined): {
        accessToken: string | undefined;
        environment: undefined;
        tenant: undefined;
    } | {
        accessToken: string;
        environment: string;
        tenant: string;
    };
    /**
     * Sets the auth config and parses region/tenant from the initial token.
     * @returns Promise with ServerConfig containing environment, tenant, and accessToken
     * @deprecated Use 'authConfig' property instead.
     */
    setAuthConfig(config?: CortiAuth.AuthTokenDerivable): Promise<{
        accessToken: string | undefined;
        environment: undefined;
        tenant: undefined;
    } | {
        accessToken: string;
        environment: string;
        tenant: string;
    }>;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        "dictation-root": DictationRoot;
    }
}
