import { Run } from '@bringg/types';
import { MappedStorableItem } from '../../data-entity';
import DataStore from '../../data-store';
import Session from '../../Services/Identity/Session';
import StorableDataService from '../../storable-data-service';
import TasksApi from '../../Task/v2/tasks-api';
export default class RunRealtimeSubscriptions {
    private runsStore;
    private storableDataService;
    private readonly storableRealtimeSubscriptions;
    private taskIdsWaitingForRun;
    constructor(session: Session, runsStore: DataStore<Run>, storableDataService: StorableDataService<Run, Run>);
    updateStoreOnEvents(tasksApi: TasksApi): void;
    onUpdate(callback: (eventData: MappedStorableItem<Run>) => void): import("../../Data/storable-types").StorableEventUnsubscribe;
    onDelete(callback: (run: MappedStorableItem<Run>) => void): import("../../Data/storable-types").StorableEventUnsubscribe;
    onCreate(callback: (run: MappedStorableItem<Run>) => void): import("../../Data/storable-types").StorableEventUnsubscribe;
    private addTaskIdsOnCreateOrUpdate;
    private updateTaskIdsOnDelete;
    private updateTaskIds;
    private updatePreviousRun;
    private updateRunInStore;
    private taskRemovedFromRun;
    private taskAddedToRun;
    private backupTasksUntilRunIsCreated;
}
