import type { DispatchOutcome, RuntimeSession } from "#subagents/handle-dispatch.js";
import type { LocalDevRequestProvenance } from "#context/keys.js";
import { buildSubagentRunInput, type SubagentInputSource } from "#subagents/tool.js";
import { createWorkflowRuntime } from "#execution/workflow-runtime.js";
import type { RuntimeSubagentDispatchRequest } from "#shared/action-types.js";
import type { CompiledBundle } from "#runtime/sessions/runtime-context-keys.js";
import type { SubagentParentContext } from "#subagents/invocation.js";
type DynamicSubagentAgentConfig = Parameters<typeof createWorkflowRuntime>[0]["dynamicSubagentAgentConfig"];
/** Starts one local subagent after dispatch planning has selected its target. */
export declare function startLocalSubagent(input: {
    readonly action: RuntimeSubagentDispatchRequest;
    readonly auth: Parameters<typeof buildSubagentRunInput>[0]["auth"];
    readonly bundle: CompiledBundle;
    readonly capabilities: Parameters<typeof buildSubagentRunInput>[0]["capabilities"];
    readonly channelMetadata: Parameters<typeof buildSubagentRunInput>[0]["channelMetadata"];
    readonly currentSession: RuntimeSession;
    readonly dynamicSubagentAgentConfig?: DynamicSubagentAgentConfig;
    readonly fanoutSize: number;
    readonly initiatorAuth: Parameters<typeof buildSubagentRunInput>[0]["initiatorAuth"];
    readonly localDevRequest?: LocalDevRequestProvenance;
    readonly parent: SubagentParentContext;
    readonly activityObserver?: Parameters<typeof buildSubagentRunInput>[0]["activityObserver"];
    readonly sandboxSessionId: string;
    readonly session: RuntimeSession;
    readonly source: SubagentInputSource;
    readonly taskId?: string;
}): Promise<DispatchOutcome>;
export {};
