import DataStore from '../data-store';
import Session from '../Services/Identity/Session';
import StorableDataService from '../storable-data-service';
import { TaskManagedAttributeUpdateRealTimeEvent } from './internal-types';
import { ManagedAttribute } from './types';
export default class TaskManagedAttributesRealtimeSubscriptions {
    private readonly realtimeSubscriptions;
    private readonly tasksManagedAttributesStore;
    private readonly storableDataService;
    private updateListeners;
    constructor(session: Session, store: DataStore<ManagedAttribute>, storableDataService: StorableDataService<ManagedAttribute, ManagedAttribute>);
    updateStoreOnEvents(): void;
    private isEmptyAttribute;
    private emitUpdate;
    onUpdate(callback: (event: TaskManagedAttributeUpdateRealTimeEvent) => unknown | Promise<unknown>): () => void;
    resetAllListeners(): void;
}
