/**
 * UserMedia uses MediaDevices.getUserMedia to open up and external microphone or audio input.
 * Check [MediaDevices API Support](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia)
 * to see which browsers are supported. Access to an external input
 * is limited to secure (HTTPS) connections.
 *
 * See description on [Tone.js](https://tonejs.github.io/)
 */
import { TypedAudioNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { AudioBuilder } from '../../../core/audio/AudioBuilder';
import { UserMedia } from 'tone/build/esm/source/UserMedia';
declare class UserMediaAudioParamsConfig extends NodeParamsConfig {
    autostart: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param play the audio */
    open: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
    /** @param stop the audio */
    close: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
}
export declare class UserMediaAudioNode extends TypedAudioNode<UserMediaAudioParamsConfig> {
    paramsConfig: UserMediaAudioParamsConfig;
    static type(): string;
    initializeNode(): void;
    cook(inputContents: AudioBuilder[]): Promise<void>;
    private __userMedia__;
    private _userMedia;
    private _createEffect;
    open(): Promise<UserMedia>;
    close(): void;
    static PARAM_CALLBACK_open(node: UserMediaAudioNode): void;
    static PARAM_CALLBACK_close(node: UserMediaAudioNode): void;
}
export {};
