import { DiagnosticFinding, DiagnosticContext } from "./types"; /** * Run all diagnostic checks and return aggregated findings. * * Sync checks run first (schema validation, code scanning). * The migration sandbox check is async and runs last. */ export declare function runDiagnostics(ctx: DiagnosticContext): Promise; /** * Format findings as a human-readable string. */ export declare function formatFindings(findings: DiagnosticFinding[]): string; /** * Check if the GitHub CLI is installed and authenticated. */ export declare function isGhAvailable(): boolean; /** * Build the argv array for `gh issue list --search`. * * Pure function (no side effects) so it can be unit-tested. The search query * is returned as its own array element and is NEVER concatenated into a shell * string, so backticks / quotes / `$()` in the title are treated literally. */ export declare function buildIssueSearchArgs(title: string): string[]; /** * Search for existing issues that might duplicate what we're about to file. */ export declare function searchExistingIssues(title: string): { number: number; title: string; url: string; }[]; /** * Build the argv array for `gh issue create`. * * Pure function (no side effects) so it can be unit-tested. The title is * returned as its own array element directly after `--title` and the body is * passed via `--body-file `. Nothing is concatenated into a shell string, * so backticks / `$()` / quotes / newlines in the title are passed literally * (no command substitution, no injection). */ export declare function buildIssueCreateArgs(title: string, bodyFilePath: string): string[]; /** * File a GitHub issue with an arbitrary title and body. * * The body is written to a temp file and passed via `--body-file`, and the * title is passed as a discrete argv element via execFile (shell: false). The * child's stdin is explicitly not inherited from the parent so it cannot * consume / blank the body. * * Returns the URL of the created issue. */ export declare function fileIssue(title: string, body: string): string; /** * Build and file a GitHub issue from diagnostic findings. * Returns the URL of the created issue. */ export declare function fileGitHubIssue(findings: DiagnosticFinding[], ctx: DiagnosticContext): string;