import { Octokit } from '@octokit/rest'; import type { SimpleGit } from 'simple-git'; export interface WorkflowServiceDependencies { createGit: () => SimpleGit; createOctokit: () => Octokit; readFile: (path: string) => Promise; writeFile: (path: string, content: string) => Promise; ledgerPath: string; now: () => Date; } export interface StartTaskInput { taskId: string; owner: string; designDoc?: string; baseBranch?: string; } export interface BranchEntry { branch: string; task: string; owner: string; createdAt: string; status: string; designDoc: string; pr: string; } export interface StartTaskResult { branch: string; ledgerEntry: BranchEntry; } export interface SubmitForReviewInput { baseBranch?: string; remote?: string; title?: string; body?: string; reviewers?: string[]; draft?: boolean; confirm?: boolean; } export interface SubmitForReviewResult { branch: string; remote: string; baseBranch: string; pushed: boolean; prUrl?: string; prNumber?: number; message: string; } export declare class WorkflowService { private readonly deps; constructor(deps: WorkflowServiceDependencies); startTask(input: StartTaskInput): Promise; submitForReview(input?: SubmitForReviewInput): Promise; private buildBranchName; private readLedgerEntries; private writeLedgerEntries; private upsertEntry; private resolveRemote; private buildDefaultPrTitle; private buildDefaultPrBody; }