import { IKosDataModel, IKosModel } from '../kosModel';
import { KosOfflineQueue, KosOfflineQueueLogger } from './kos-offline-queue';
export declare class KosSubscriptionManager {
    private model;
    private modelData;
    private modelId;
    private offlineQueue;
    private log;
    private disposers;
    private activatableDisposers;
    private flowControllers;
    private baselineDependencies;
    private registeredTopics;
    private onceTopics;
    constructor(model: IKosModel, modelData: IKosDataModel, modelId: string, offlineQueue: KosOfflineQueue, log: KosOfflineQueueLogger);
    registerAll(lifecycle?: string): void;
    deactivate(): void;
    disposeAll(): void;
    private subscribe;
    private createHandler;
    private extractWildcardCapture;
    private callHandlerWithWildcard;
    private resolvePropKey;
    private subscribeWithFlowControl;
    private startFlowProcessing;
    private createFlowControlHandler;
    private retryHandler;
    /**
     * Get flow control statistics for monitoring
     */
    getFlowControlStats(): Record<string, any>;
    /**
     * Get ServiceResponseStore from model
     * @private
     */
    private getResponseStore;
    /**
     * Check if baseline is ready for a topic handler
     * @private
     */
    private isBaselineReady;
    /**
     * Trigger smart queue flush with baseline temporal filtering
     * Called after baseline loads to replay queued events
     *
     * @param topic - Topic that had baseline dependency
     */
    flushQueueForBaseline(topic: string): void;
}
//# sourceMappingURL=kos-subscription-manager.d.ts.map