import { ContentStorage } from '../memory/ContentStorage';
import { ContentReferenceConfig } from '../types/content-reference';
import { Logger } from '@hashgraphonline/standards-sdk';

/**
 * Manages content store lifecycle and cross-package registration
 */
export declare class ContentStoreManager {
    private contentStorage;
    private adapter;
    private resolver;
    private logger;
    private isRegistered;
    constructor(maxMessageStorage?: number, referenceConfig?: Partial<ContentReferenceConfig>, logger?: Logger);
    /**
     * Initialize and register content storage for cross-package access
     */
    initialize(): Promise<void>;
    /**
     * Get the underlying ContentStorage instance
     */
    getContentStorage(): ContentStorage;
    /**
     * Get storage statistics
     */
    getStats(): Promise<import('../types').ContentReferenceStats>;
    /**
     * Update configuration
     */
    updateConfig(config: Partial<ContentReferenceConfig>): Promise<void>;
    /**
     * Perform manual cleanup
     */
    performCleanup(): Promise<{
        cleanedUp: number;
        errors: string[];
    }>;
    /**
     * Check if content should be stored as reference
     */
    shouldUseReference(content: Buffer | string): boolean;
    /**
     * Store content if it's large enough
     */
    storeContentIfLarge(content: Buffer | string, metadata: any): Promise<import('../types').ContentReference | null>;
    /**
     * Cleanup and unregister
     */
    dispose(): Promise<void>;
    /**
     * Check if the manager is initialized
     */
    isInitialized(): boolean;
}
