export interface PatternPackage {
    id: string;
    name: string;
    description: string;
    author: string;
    version: number;
    patterns: Array<{
        category: string;
        description: string;
        from: string;
        to: string;
        language?: string;
    }>;
    tags: string[];
    rating: number;
    ratingCount: number;
    downloads: number;
    createdAt: number;
    updatedAt: number;
}
export interface Review {
    packageId: string;
    author: string;
    rating: number;
    comment: string;
    createdAt: number;
}
export declare function createPackage(data: Omit<PatternPackage, 'id' | 'version' | 'rating' | 'ratingCount' | 'downloads' | 'createdAt' | 'updatedAt'>): PatternPackage;
export declare function getPackage(id: string): PatternPackage | null;
export declare function getAllPackages(): PatternPackage[];
export declare function searchPackages(query: string): PatternPackage[];
export declare function downloadPackage(id: string): PatternPackage | null;
export declare function ratePackage(packageId: string, author: string, rating: number, comment?: string): PatternPackage | null;
export declare function getReviews(packageId: string): Review[];
export declare function getMarketplaceStats(): {
    totalPackages: number;
    totalDownloads: number;
    topTags: Array<{
        tag: string;
        count: number;
    }>;
};
//# sourceMappingURL=marketplace.d.ts.map