/**
 * Filesystem-backed log storage.
 *
 * Stores execution logs as files on disk. No TTL -- logs persist indefinitely.
 * Supports append-only writes (JSONL accumulation) and cursor-based pagination.
 *
 * File layout:
 *   {basePath}/executions/{runId}/job-{name}/step-{index}.log
 */
import type { LogReadOptions, LogReadResult, LogStorage } from './log-storage.js';
interface FilesystemLogStorageOptions {
    basePath: string;
}
export declare class FilesystemLogStorage implements LogStorage {
    private readonly basePath;
    constructor(options: FilesystemLogStorageOptions);
    private fullPath;
    /**
     * Ensure the directory for a given file path exists.
     */
    private ensureDir;
    /**
     * Check if a file exists on disk.
     */
    private fileExists;
    /**
     * Get the size of a file in bytes. Returns 0 if the file doesn't exist.
     */
    private fileSize;
    /**
     * Recursively list all files under a directory, returning paths relative
     * to the base path.
     */
    private listRecursive;
    append(path: string, data: string): Promise<void>;
    read(path: string, options?: LogReadOptions): Promise<LogReadResult>;
    exists(path: string): Promise<boolean>;
    list(prefix: string): Promise<string[]>;
}
export {};
//# sourceMappingURL=fs-log-storage.d.ts.map