import type { WorkspaceTarget } from './dist-lib/types/workspace/contracts.js'; import type { SourceProposalValidation, SourceValidationReceipt } from './source-validation.js'; import type { WorkspaceFileSourceRequest, WorkspaceSourceProposal, WorkspaceSourceProposalDetails, WorkspaceSourceValidation } from './dist-lib/types/workspace/source/flowContracts.js'; import type { SourcePublicationRecoveryAction } from './node/source-publication-recovery.mjs'; import type { WorkspaceCommandInput, WorkspaceCommandJob, WorkspaceCommandProposal } from './dist-lib/types/workspace/commands/contracts.js'; import type { SourceFilePlan } from './dist-lib/types/host/sourceFilePlan.js'; export interface WorkspaceCommandServiceOptions { proposalValidation?: SourceProposalValidation; projectRoot: string; appDirectory?: string; proposalRoot?: string; /** Durable review storage. Defaults to .reviews inside proposalRoot when configured. */ reviewRoot?: string; claudeExecutable?: string; resolveTarget(target: WorkspaceTarget, signal?: AbortSignal): Promise<{ label?: string; files: string[]; aliases?: Record; maxDepth?: number; maxFiles?: number; maxBytes?: number }>; /** Retention after an operation completes. Running operations remain observable and cancellable. */ maxAgeMs?: number; proposePlan?(input: { plan: SourceFilePlan; target: WorkspaceTarget; details: WorkspaceSourceProposalDetails; signal: AbortSignal; validation?: SourceValidationReceipt }): Promise; recoverPlan?(input: Parameters>[0] & { recovery: SourcePublicationRecoveryAction }): Promise; } export declare function createWorkspaceCommandService(options: WorkspaceCommandServiceOptions): { start(input: WorkspaceCommandInput, signal?: AbortSignal): Promise; status(input: { id: string }): Promise; list(input: { target: WorkspaceTarget }): Promise; /** Revalidates stored source proofs and returns a new review identity requiring a fresh preview. */ recover(input: { id: string }, signal?: AbortSignal): Promise; validate(input: { id: string; documentRevision: string }, signal?: AbortSignal): Promise; cancel(input: { id: string }): Promise; save(input: { id: string }, signal?: AbortSignal): Promise; recoverProposal(input: { id: string; documentRevision: string }, signal?: AbortSignal): Promise; propose(input: { id: string; documentRevision: string; details: WorkspaceSourceProposalDetails }, signal?: AbortSignal): Promise; validatePreviewRequest(request: WorkspaceFileSourceRequest, signal?: AbortSignal): Promise; /** Declines other request families; invalid or expired command reviews reject without fallback. */ tryValidatePreviewRequest(request: WorkspaceFileSourceRequest, signal?: AbortSignal): Promise; dispose(): Promise; }; export declare function compileCommandEdits(sources: Map, result: { summary: string; edits: { file: string; oldText: string; newText: string }[] }, sourceRevision: string, previous?: SourceFilePlan): SourceFilePlan; export declare function saveCommandProposal(options: { projectRoot: string; appDirectory?: string; proposalRoot: string; target: WorkspaceTarget; plan: SourceFilePlan; id: string; signal?: AbortSignal }): Promise;