import type { TaskToastManager } from "../../features/task-toast-manager/manager"; import type { ModelFallbackInfo } from "../../features/task-toast-manager/types"; import type { FallbackEntry } from "../../shared/model-requirements"; import type { ExecutorContext, ParentContext } from "./executor-types"; import type { SyncTaskDeps } from "./sync-task-deps"; import type { DelegatedModelConfig, DelegateTaskArgs, ToolContextWithMetadata } from "./types"; type SyncTaskRunnerInput = { readonly args: DelegateTaskArgs; readonly ctx: ToolContextWithMetadata; readonly executorCtx: ExecutorContext; readonly parentContext: ParentContext; readonly agentToUse: string; readonly categoryModel: DelegatedModelConfig | undefined; readonly fallbackChain: FallbackEntry[] | undefined; readonly deps: SyncTaskDeps; readonly sessionID: string; readonly spawnDepth: number; readonly taskId: string; readonly startTime: Date; readonly syncPollTimeoutMs: number | undefined; readonly systemContent: string | undefined; readonly toastManager: TaskToastManager | undefined; readonly modelInfo: ModelFallbackInfo | undefined; readonly registerSyncSession: (newSessionID: string) => Promise; readonly publishSyncMetadata: (currentSessionID: string, currentModel: DelegatedModelConfig | undefined, spawnDepth: number) => Promise; readonly cleanupRetrySession: (currentSessionID: string) => void; readonly setSyncSessionID: (currentSessionID: string) => void; }; export declare function runSyncTaskLoop(input: SyncTaskRunnerInput): Promise; export {};