export interface PresetParameter {
    name: string;
    description: string;
    type: "string" | "number" | "boolean" | "select" | "file";
    default?: any;
    required?: boolean;
    options?: string[];
    placeholder?: string;
    validation?: {
        min?: number;
        max?: number;
        pattern?: string;
    };
}
export interface Preset {
    id: string;
    name: string;
    description: string;
    category: string;
    prompt: string;
    parameters?: PresetParameter[];
    examples?: string[];
    tags: string[];
    difficulty: "beginner" | "intermediate" | "advanced";
    commonUse: boolean;
}
export interface CustomPreset extends Preset {
    isCustom: true;
    createdAt: number;
    usageCount: number;
}
export declare class PresetManager {
    private readonly presetsPath;
    private readonly presetsFile;
    private customPresets;
    constructor();
    private load;
    private save;
    getAllPresets(): Preset[];
    getPresetsByCategory(category: string): Preset[];
    getPresetById(id: string): Preset | undefined;
    getCategories(): string[];
    getCommonPresets(): Preset[];
    searchPresets(query: string): Preset[];
    addCustomPreset(preset: Omit<CustomPreset, "id" | "isCustom" | "createdAt" | "usageCount">): void;
    updateCustomPreset(id: string, updates: Partial<CustomPreset>): boolean;
    deleteCustomPreset(id: string): boolean;
    incrementUsageCount(id: string): void;
    buildPromptFromPreset(presetId: string, parameters: Record<string, any>): string;
    exportPresets(): string;
    importCustomPresets(data: string): number;
}
export declare const presetManager: PresetManager;
