import { type Codec, type FlowFragmentBuilder, type FormDefinition, type HumanTurnDefinition, type ProcessLauncherDefinition, type RepositoryCredentialProject, type RepositoryCredentialRequirement } from "@leitwerk-dev/process-sdk"; import { type RepositoryChangeState } from "./repository-change-state.js"; export type RepositoryChangeParams = { launchKind: "requested_change" | "imported_plan"; importedPlanMarkdown?: string; }; export interface RepositoryChangeProcessConfig { processId: string; displayName: string; paramsCodec: Codec; launcher?: ProcessLauncherDefinition; finalizeLabel: string; finalizeForm: FormDefinition; finalizationDescription: string; repositoryCredentials?(input: { params: TParams; projects: readonly RepositoryCredentialProject[]; }): readonly RepositoryCredentialRequirement[]; publication?: { entryTurnId: string; fragment: FlowFragmentBuilder; happyPath?: readonly string[]; }; } export declare function createRepositoryChangeProcess(config: RepositoryChangeProcessConfig): { process: import("@leitwerk-dev/process-sdk").ProcessDefinition; planDecision: HumanTurnDefinition & { id: string; }; planReviewFeedback: HumanTurnDefinition & { id: string; }; implementationDecision: HumanTurnDefinition & { id: string; }; implementationReviewFeedback: HumanTurnDefinition & { id: string; }; simplificationDecision: HumanTurnDefinition & { id: string; }; }; //# sourceMappingURL=repository-change-process.d.ts.map