import { ConversationSettings } from "../assistants";
import { LanguageModel } from "../models";
import { Voice } from "../voice";
import { AutopilotContext, AutopilotEvents } from "./types";
declare const machineSetup: {
    createMachine: <const TConfig extends import("xstate").MachineConfig<any, AutopilotEvents, {
        src: "doProcessUserRequest";
        logic: import("xstate").PromiseActorLogic<void, {
            context: AutopilotContext;
        }, import("xstate").EventObject>;
        id: string;
    }, import("xstate").Values<{
        appendSpeech: {
            type: "appendSpeech";
            params: unknown;
        };
        cleanSpeech: {
            type: "cleanSpeech";
            params: unknown;
        };
        increaseIdleTimeoutCount: {
            type: "increaseIdleTimeoutCount";
            params: unknown;
        };
        resetIdleTimeoutCount: {
            type: "resetIdleTimeoutCount";
            params: unknown;
        };
        resetState: {
            type: "resetState";
            params: unknown;
        };
        setSpeaking: {
            type: "setSpeaking";
            params: unknown;
        };
        setSpeakingDone: {
            type: "setSpeakingDone";
            params: unknown;
        };
        greetUser: {
            type: "greetUser";
            params: unknown;
        };
        goodbye: {
            type: "goodbye";
            params: unknown;
        };
        announceSystemError: {
            type: "announceSystemError";
            params: unknown;
        };
        interruptPlayback: {
            type: "interruptPlayback";
            params: unknown;
        };
        announceIdleTimeout: {
            type: "announceIdleTimeout";
            params: unknown;
        };
    }>, import("xstate").Values<{
        isSpeaking: {
            type: "isSpeaking";
            params: unknown;
        };
        idleTimeoutCountExceedsMax: {
            type: "idleTimeoutCountExceedsMax";
            params: unknown;
        };
        hasSpeechResult: {
            type: "hasSpeechResult";
            params: unknown;
        };
    }>, "IDLE_TIMEOUT" | "MAX_SPEECH_WAIT_TIMEOUT" | "SESSION_TIMEOUT", string, {
        conversationSettings: ConversationSettings;
        languageModel: LanguageModel;
        voice: Voice;
    }, {}, import("xstate").EventObject, import("xstate").MetaObject>>(config: TConfig) => import("xstate").StateMachine<any, AutopilotEvents, {
        [x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<void, {
            context: AutopilotContext;
        }, import("xstate").EventObject>>;
    }, {
        src: "doProcessUserRequest";
        logic: import("xstate").PromiseActorLogic<void, {
            context: AutopilotContext;
        }, import("xstate").EventObject>;
        id: string;
    }, import("xstate").Values<{
        appendSpeech: {
            type: "appendSpeech";
            params: unknown;
        };
        cleanSpeech: {
            type: "cleanSpeech";
            params: unknown;
        };
        increaseIdleTimeoutCount: {
            type: "increaseIdleTimeoutCount";
            params: unknown;
        };
        resetIdleTimeoutCount: {
            type: "resetIdleTimeoutCount";
            params: unknown;
        };
        resetState: {
            type: "resetState";
            params: unknown;
        };
        setSpeaking: {
            type: "setSpeaking";
            params: unknown;
        };
        setSpeakingDone: {
            type: "setSpeakingDone";
            params: unknown;
        };
        greetUser: {
            type: "greetUser";
            params: unknown;
        };
        goodbye: {
            type: "goodbye";
            params: unknown;
        };
        announceSystemError: {
            type: "announceSystemError";
            params: unknown;
        };
        interruptPlayback: {
            type: "interruptPlayback";
            params: unknown;
        };
        announceIdleTimeout: {
            type: "announceIdleTimeout";
            params: unknown;
        };
    }>, import("xstate").Values<{
        isSpeaking: {
            type: "isSpeaking";
            params: unknown;
        };
        idleTimeoutCountExceedsMax: {
            type: "idleTimeoutCountExceedsMax";
            params: unknown;
        };
        hasSpeechResult: {
            type: "hasSpeechResult";
            params: unknown;
        };
    }>, "IDLE_TIMEOUT" | "MAX_SPEECH_WAIT_TIMEOUT" | "SESSION_TIMEOUT", import("xstate").ToStateValue<TConfig>, string, {
        conversationSettings: ConversationSettings;
        languageModel: LanguageModel;
        voice: Voice;
    }, {}, import("xstate").EventObject, import("xstate").MetaObject, TConfig>;
};
export { machineSetup };
