/**
 * Auto Export Service
 *
 * Polls for dirty elements and automatically triggers incremental JSONL exports.
 * Uses interval-based polling (same pattern as EventBroadcaster).
 */
import type { StorageBackend } from '@stoneforge/storage';
import type { SyncConfig } from '../config/types.js';
import { SyncService } from './service.js';
export interface AutoExportOptions {
    syncService: SyncService;
    backend: StorageBackend;
    syncConfig: SyncConfig;
    outputDir: string;
}
/**
 * Interval-based service that watches for dirty elements and exports them.
 */
export declare class AutoExportService {
    private syncService;
    private backend;
    private syncConfig;
    private outputDir;
    private pollInterval;
    private exporting;
    constructor(options: AutoExportOptions);
    /**
     * Start the auto-export polling loop.
     * If autoExport is disabled in config, this is a no-op.
     */
    start(): Promise<void>;
    /**
     * Stop the auto-export polling loop.
     */
    stop(): void;
    /**
     * Single poll tick: check for dirty elements and export if needed.
     */
    private tick;
}
/**
 * Create a new AutoExportService instance
 */
export declare function createAutoExportService(options: AutoExportOptions): AutoExportService;
//# sourceMappingURL=auto-export.d.ts.map