/**
 * switches between different inputs
 *
 *
 */
import { TypedAudioNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { AudioBuilder } from '../../../core/audio/AudioBuilder';
import { AudioType } from '../../poly/registers/nodes/types/Audio';
declare class SwitchAudioParamsConfig extends NodeParamsConfig {
    /** @param sets which input is used */
    input: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param number of inputs that this node can merge geometries from */
    inputsCount: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
}
export declare class SwitchAudioNode extends TypedAudioNode<SwitchAudioParamsConfig> {
    paramsConfig: SwitchAudioParamsConfig;
    static type(): AudioType;
    initializeNode(): void;
    cook(inputContents: AudioBuilder[]): Promise<void>;
    private _callbackUpdateInputsEvaluation;
    static PARAM_CALLBACK_setInputsEvaluation(node: SwitchAudioNode): void;
    private _callbackUpdateInputsCount;
    static PARAM_CALLBACK_setInputsCount(node: SwitchAudioNode): void;
}
export {};
