import * as FileSystem from "effect/FileSystem"; import * as Effect from "effect/Effect"; import * as Layer from "effect/Layer"; import * as Path from "effect/Path"; import * as ServiceMap from "effect/Context"; import * as Terminal from "effect/Terminal"; import type { AgentDescriptor } from "../agents/index.js"; import type { AppError } from "../app-error/index.js"; import type { PromptCancelled } from "../cli-prompt/prompt-cancelled.js"; export interface InstructionSourceChoice { readonly fileName: string; readonly exists: boolean; readonly lines: number; } export interface WorkspaceInitializationInteractionService { readonly selectAgents: (options: { readonly allAgents: ReadonlyArray; readonly detectedIds: ReadonlyArray; readonly projectDetectedIds: ReadonlyArray; readonly userDetectedIds: ReadonlyArray; readonly suggestedIds: ReadonlyArray; readonly configuredIds: ReadonlyArray; }) => Effect.Effect, PromptCancelled | AppError>; readonly confirmInstructionSync: (options: { readonly enabled: boolean; }) => Effect.Effect; readonly selectInstructionSource: (options: { readonly defaultFileName: string; readonly choices: ReadonlyArray; }) => Effect.Effect; readonly confirmSetupPlan: () => Effect.Effect; } declare const WorkspaceInitializationInteraction_base: ServiceMap.ServiceClass; export declare class WorkspaceInitializationInteraction extends WorkspaceInitializationInteraction_base { } export declare const WorkspaceInitializationInteractionLive: Layer.Layer; export interface WorkspaceInitializationInteractionTestState { readonly selectAgentsCalls: Array<{ readonly allAgents: ReadonlyArray; readonly detectedIds: ReadonlyArray; readonly projectDetectedIds: ReadonlyArray; readonly userDetectedIds: ReadonlyArray; readonly suggestedIds: ReadonlyArray; readonly configuredIds: ReadonlyArray; }>; readonly confirmInstructionSyncCalls: Array<{ readonly enabled: boolean; }>; readonly selectInstructionSourceCalls: Array<{ readonly defaultFileName: string; readonly choices: ReadonlyArray; }>; readonly confirmSetupPlanCalls: Array; } export declare const WorkspaceInitializationInteractionTest: (overrides?: { readonly selectAgents?: (options: { readonly allAgents: ReadonlyArray; readonly detectedIds: ReadonlyArray; readonly projectDetectedIds: ReadonlyArray; readonly userDetectedIds: ReadonlyArray; readonly suggestedIds: ReadonlyArray; readonly configuredIds: ReadonlyArray; }) => Effect.Effect, PromptCancelled | AppError>; readonly confirmInstructionSync?: (options: { readonly enabled: boolean; }) => Effect.Effect; readonly selectInstructionSource?: (options: { readonly defaultFileName: string; readonly choices: ReadonlyArray; }) => Effect.Effect; readonly confirmSetupPlan?: () => Effect.Effect; }) => { layer: Layer.Layer; state: WorkspaceInitializationInteractionTestState; }; export {}; //# sourceMappingURL=initialization-interaction.d.ts.map