import { useAgentInitialPrompt } from "./useAgentInitialPrompt";
import { useAgentPendingInitialPrompt } from "./useAgentPendingInitialPrompt";
import { useAgentSessionCommandBindings } from "./useAgentSessionCommandBindings";
import { useAgentStopCommand } from "./useAgentStopCommand";
import { useAgentSubmitHandlers } from "./useAgentSubmitHandlers";
import { useAgentSubmitResponseHandler } from "./useAgentSubmitResponseHandler";
type SubmitResponseInput = Parameters<typeof useAgentSubmitResponseHandler>[0];
type SubmitHandlersInput = Parameters<typeof useAgentSubmitHandlers>[0];
type PendingInitialInput = Parameters<typeof useAgentPendingInitialPrompt>[0];
type InitialPromptInput = Parameters<typeof useAgentInitialPrompt>[0];
type StopInput = Parameters<typeof useAgentStopCommand>[0];
type CommandBindingsInput = Parameters<typeof useAgentSessionCommandBindings>[0];
export declare function useAgentSubmitLifecycle(input: {
    submitResponse: Omit<SubmitResponseInput, "agentStub"> & {
        agentStub: SubmitResponseInput["agentStub"];
    };
    submitHandlers: Omit<SubmitHandlersInput, "handleSubmitResponse">;
    pendingInitialPrompt: Omit<PendingInitialInput, "handleSubmit">;
    initialPrompt: Omit<InitialPromptInput, "handleSubmit">;
    stop: StopInput;
    commandBindings: Omit<CommandBindingsInput, "handleSubmit" | "sendQuickMessage" | "handleStop">;
}): {
    handleSubmit: (promptOverride?: string) => Promise<void>;
    handlePushQueuedPrompt: (queuedPrompt: Pick<import("../../services/agentService").QueuedPrompt, "id" | "prompt">) => Promise<void>;
    sendQuickMessage: (text: string) => Promise<void>;
    handleStop: () => Promise<void>;
};
export {};
