export interface HistoryEntry {
    id: string;
    prompt: string;
    command: string;
    provider: string;
    model?: string;
    timestamp: number;
    executionCount: number;
    tags: string[];
    isFavorite: boolean;
    category?: string;
    error?: string;
}
export interface HistoryStats {
    totalCommands: number;
    favoriteCount: number;
    mostUsedProvider: string;
    mostUsedCategory: string;
    commandsToday: number;
    commandsThisWeek: number;
    commandsThisMonth: number;
}
export declare class HistoryManager {
    private readonly historyPath;
    private readonly historyFile;
    private history;
    private readonly maxHistorySize;
    private readonly recentLimit;
    constructor();
    private load;
    private save;
    add(entry: Omit<HistoryEntry, "id" | "timestamp" | "executionCount" | "tags" | "isFavorite">): void;
    private autoGenerateTags;
    getRecent(limit?: number): HistoryEntry[];
    getFavorites(): HistoryEntry[];
    getMostUsed(limit?: number): HistoryEntry[];
    search(query: string): HistoryEntry[];
    getByTag(tag: string): HistoryEntry[];
    getByCategory(category: string): HistoryEntry[];
    toggleFavorite(id: string): boolean;
    addTags(id: string, tags: string[]): void;
    setCategory(id: string, category: string): void;
    delete(id: string): boolean;
    clear(): void;
    clearOldEntries(daysToKeep?: number): number;
    getStats(): HistoryStats;
    exportHistory(format?: "json" | "csv"): string;
    importHistory(data: string, format?: "json" | "csv"): number;
}
export declare const historyManager: HistoryManager;
