import { OAuthTraceSink } from './trace-events';
/**
 * Append-mode JSONL file sink. Off by default; enabled when callers pass an instance.
 *
 * - File path: `${dir}/oauth-YYYYMMDD.log` (date from `now()` per write call).
 * - Permissions: dir 0o700, file 0o600 (user-only). World-readable would leak machine info.
 * - Failure-tolerant: if write fails (disk full, perm denied), logs once to stderr and
 *   keeps dropping events silently — sink must never throw out of `write()`.
 */
export interface FileSinkOptions {
    dir: string;
    /** Test seam — defaults to `() => new Date()`. */
    now?: () => Date;
    /** Test seam — error notifier (defaults to one-shot stderr write). */
    onError?: (msg: string) => void;
}
export declare function createFileSink(options: FileSinkOptions): OAuthTraceSink;
//# sourceMappingURL=sink-file.d.ts.map