import { DistributedConfig, ISegmentProcessor } from './interfaces';
/**
 * Factory for creating segment processors
 * Automatically detects environment and creates appropriate processor
 */
export declare class SegmentProcessorFactory {
    private static instance;
    private static initializationPromise;
    private static redisClient;
    /**
     * Create or return existing segment processor
     * @param config Optional configuration for distributed mode
     */
    static create(config?: DistributedConfig): Promise<ISegmentProcessor>;
    private static initialize;
    /**
     * Force recreation of the processor
     * Useful for testing or configuration changes
     */
    static reset(): Promise<void>;
    /**
     * Get current processor mode
     */
    static getMode(): Promise<string>;
}
//# sourceMappingURL=segmentProcessorFactory.d.ts.map