/** M56: a repository's commands and limits, read from its base branch. */ export interface ProjectConfig { verify?: string; setup?: string; verifyTimeout: number; maxRounds: number; } export declare const VERIFY_TIMEOUT_DEFAULT = 600; export declare const VERIFY_TIMEOUT_MAX = 3600; export declare const MAX_ROUNDS_DEFAULT = 3; export declare function parseProjectConfig(raw: unknown): { config: ProjectConfig; error?: string; }; export declare function overridePath(repo: string): string; export declare function readOverride(repo: string): Partial; /** M56: the base branch's file (never the worktree's), overlaid field by field by the personal override. */ export declare function readProjectConfig(repo: string, baseRef: string): Promise<{ config: ProjectConfig; error?: string; source: "base" | "none"; }>; export declare const commandHash: (command: string) => string; export declare function isApproved(repo: string, command: string): boolean; export declare function approve(repo: string, commands: string[]): void; export declare function verifyLogPath(taskId: number, round: number): string; /** M56: the end of a log, for the session and the note: control characters other than \n and \t removed. */ export declare function readLogTail(path: string, lines?: number, maxChars?: number): string; /** M56: argv of a shell job; the command's output goes to the file named by ROOST_VERIFY_LOG. */ export declare function verifyCommand(command: string): string[];