export type LiveEventType = 'file_save' | 'file_create' | 'file_delete' | 'file_rename' | 'git_commit' | 'package_change';
export interface LiveEvent {
    id: number;
    project: string;
    eventType: LiveEventType;
    filePath: string;
    metadata: Record<string, unknown>;
    createdAt: string;
}
export interface WatcherInfo {
    project: string;
    dirPath: string;
    active: boolean;
    eventCount: number;
    lastEventAt: string;
    startedAt: string;
}
export interface RefreshTrigger {
    type: 'manual' | 'stale' | 'scheduled' | 'file_change' | 'package_change';
    project: string;
    success: boolean;
    durationMs: number;
    details: string;
    createdAt: string;
}
export declare function startWatcher(project: string, dirPath: string, opts?: {
    preserveState?: boolean;
}): {
    started: boolean;
    message: string;
};
export declare function stopWatcher(project: string): {
    stopped: boolean;
    message: string;
};
export declare function getWatcherStatus(project: string): WatcherInfo | null;
export declare function getActiveWatchers(): WatcherInfo[];
export declare function restoreActiveWatchers(): {
    restored: number;
    failed: Array<{
        project: string;
        dirPath: string;
        reason: string;
    }>;
};
export declare function getLiveEvents(project: string, limit?: number, eventType?: LiveEventType): LiveEvent[];
export declare function logRefresh(trigger: RefreshTrigger): {
    id: number;
};
export declare function getRefreshHistory(project: string, limit?: number): RefreshTrigger[];
export interface AutoRefreshCheck {
    needsRefresh: boolean;
    reason: string;
    dataAge: string;
    recommendedAction: 'none' | 're-evaluate' | 'full-rescan';
}
export declare function checkIfNeedsRefresh(project: string): AutoRefreshCheck;
export declare function performAutoRefresh(project: string, force?: boolean): RefreshTrigger;
export declare function cleanupOldEvents(project: string, keepCount?: number): {
    deleted: number;
};
//# sourceMappingURL=live-watcher.d.ts.map