/** Stable shape written to disk; bump schemaVersion if breaking changes are made. */
export interface BuildOutputRecord {
    schemaVersion: 1;
    jobId: string;
    appId: string;
    platform: 'ios' | 'android';
    buildMode: 'debug' | 'release';
    status: string;
    outputUrl: string | null;
    qrCodeAscii: string | null;
    qrCodePngPath: string | null;
    finishedAt: string;
}
export interface WriteBuildOutputRecordInput {
    jobId: string;
    appId: string;
    platform: 'ios' | 'android';
    buildMode: 'debug' | 'release';
    status: string;
    outputUrl: string | null;
}
/**
 * Write a build-output record to `recordPath` (JSON) and, when a URL is available,
 * a PNG QR code to `<recordPath>.qr.png`. Returns the parsed record exactly as
 * written so callers can log a summary without re-reading the file.
 *
 * Failures rendering the PNG are non-fatal — the JSON is always written. The
 * record's `qrCodePngPath` field is null when the PNG could not be produced.
 */
export declare function writeBuildOutputRecord(recordPath: string, input: WriteBuildOutputRecordInput, onWarn?: (msg: string) => void): Promise<BuildOutputRecord>;
