/**
 * Log Store - Enhanced File-based Log Storage
 *
 * Features:
 * - Query logs across multiple files with filtering
 * - Support for compressed (.gz) log files
 * - Pagination and sorting
 * - Statistics and analytics
 * - Safe log cleanup with actual deletion
 */
import type { LogLevel, LogFileMeta, LogQuery, LogStats, LogEntry } from './types.js';
declare const LOG_DIR: string;
/**
 * Get all log files (including compressed)
 */
export declare function getLogFiles(): LogFileMeta[];
/**
 * Get log file path for a specific date and type
 */
export declare function getLogPath(date?: Date, type?: 'app' | 'error' | 'audit' | 'access'): string;
/**
 * Query logs across multiple files
 */
export declare function queryLogs(query?: LogQuery): Promise<LogEntry[]>;
/**
 * Get recent logs (convenience method)
 */
export declare function getRecentLogs(options?: {
    level?: LogLevel;
    limit?: number;
    module?: string;
}): Promise<LogEntry[]>;
/**
 * Search logs by keyword
 */
export declare function searchLogs(keyword: string, options?: {
    from?: string;
    to?: string;
    limit?: number;
}): Promise<LogEntry[]>;
/**
 * Get logs for a specific request/session
 */
export declare function getLogsByContext(contextType: 'requestId' | 'sessionId', contextValue: string, limit?: number): Promise<LogEntry[]>;
/**
 * Get available log levels from actual log data
 */
export declare function getLogLevelsFromData(): Promise<LogLevel[]>;
/**
 * Get available modules from log data
 */
export declare function getLogModules(): Promise<string[]>;
/**
 * Get log statistics by level (sampled from recent files)
 */
export declare function getLogStats(): Promise<LogStats>;
/**
 * Clean old logs (actually deletes files)
 */
export declare function cleanOldLogs(keepDays?: number): {
    deleted: number;
    freedBytes: number;
    errors: string[];
};
/**
 * Get available log levels
 */
export declare function getLogLevels(): LogLevel[];
export { LOG_DIR };
export type { LogEntry, LogQuery, LogFileMeta, LogStats } from './types.js';
