import { ILogger } from '../../logger';
import { StreamService } from '../../stream';
import { ProviderClient, ProviderTransaction } from '../../../types/provider';
export declare class InstanceRegistry {
    private static instances;
    static add(router: any): void;
    static remove(router: any): void;
    static stopAll(): Promise<void>;
    static getInstances(): Set<any>;
}
export declare class LifecycleManager<S extends StreamService<ProviderClient, ProviderTransaction>> {
    private shouldConsume;
    private readonly;
    private topic;
    private logger;
    private stream;
    private isUsingNotifications;
    constructor(readonly: boolean, topic: string | undefined, logger: ILogger, stream: S);
    getShouldConsume(): boolean;
    setShouldConsume(value: boolean): void;
    getIsUsingNotifications(): boolean;
    setIsUsingNotifications(value: boolean): void;
    isReadonly(): boolean;
    isStopped(group: string, consumer: string, stream: string): boolean;
    startConsuming(router: any): Promise<void>;
    stopConsuming(router: any): Promise<void>;
}
