/**
 * Content Manager
 * Orchestrates content operations with validation, caching, and bulk operations
 */
import { ContentEntry, ContentAsset, ContentType, ContentSpace, ContentComment, ContentBulkOperation, ContentImportOptions, ContentExportOptions, ContentManagerConfig, ContentManagerStats, ContentFilter, ContentPagination } from './types.js';
export declare class ContentManager {
    private storage;
    private config;
    private cache;
    constructor(config?: Partial<ContentManagerConfig>);
    createSpace(name: string, description?: string): Promise<ContentSpace>;
    getSpace(spaceId: string): Promise<ContentSpace | null>;
    listSpaces(): Promise<ContentSpace[]>;
    createContentType(spaceId: string, name: string, fields: any[], options?: Partial<ContentType>): Promise<ContentType>;
    getContentType(typeId: string): Promise<ContentType | null>;
    createEntry(spaceId: string, type: string, fields: Record<string, any>, options?: Partial<ContentEntry>): Promise<ContentEntry>;
    getEntry(entryId: string): Promise<ContentEntry | null>;
    updateEntry(entryId: string, updates: Partial<ContentEntry>): Promise<ContentEntry>;
    searchEntries(filter?: ContentFilter, pagination?: Partial<ContentPagination>): Promise<{
        entries: ContentEntry[];
        pagination: ContentPagination;
    }>;
    uploadAsset(spaceId: string, filePath: string, title: string, options?: Partial<ContentAsset>): Promise<ContentAsset>;
    getAsset(assetId: string): Promise<ContentAsset | null>;
    addComment(entryId: string, author: string, body: string, parentId?: string): Promise<ContentComment>;
    getEntryComments(entryId: string): Promise<ContentComment[]>;
    executeBulkOperation(operation: ContentBulkOperation): Promise<{
        succeeded: string[];
        failed: Array<{
            id: string;
            error: string;
        }>;
    }>;
    importContent(spaceId: string, data: string | Buffer, options: ContentImportOptions): Promise<{
        imported: number;
        errors: string[];
    }>;
    exportContent(spaceId: string, options: ContentExportOptions): Promise<string>;
    getStats(spaceId?: string): Promise<ContentManagerStats>;
    private validateFields;
    private validateFieldType;
    private runValidation;
    private getFromCache;
    private setCache;
    private invalidateCache;
    private getMimeType;
}
//# sourceMappingURL=content-manager.d.ts.map