import { type RestClient, type SoqlClient } from '@cclabsnz/sf-core'; import { type LogCoverage, type LogType, type Wave } from '../model.js'; /** Columns a log of this type needs but its header lacks. Every type needs a user column. */ export declare function missingColumns(type: LogType, header: string[]): string[]; export declare function collectionDays(waves: Wave[]): string[]; /** * Downloads each daily log with sf-core's getRawToFile (fetch is banned in src/ by the * read-only invariant), filters it to guest rows with a streaming parser, then deletes the raw * file. Peak disk use is one raw log, up to ~600 MB on a spike day. */ export declare function streamGuestLogs(deps: { soql: SoqlClient; rest: RestClient; }, bundleDir: string, days: string[], guestIds: ReadonlySet, warn: (m: string) => void, reuse?: (type: LogType, day: string) => LogCoverage | undefined, /** Called as each log is settled, so the caller can checkpoint the manifest and a killed run can resume. */ onLogDone?: (coverage: LogCoverage) => void | Promise): Promise; //# sourceMappingURL=streamGuestLogs.d.ts.map