import { TupleActionPushService } from "../action-service/TupleActionPushService";
import { TupleDataObserverService } from "../observable-service/TupleDataObserverService";
import { TupleDataLoaderDelegate } from "./TupleDataLoaderDelegate";
import { Tuple } from "../Tuple";
import { NgLifeCycleEvents, NgOnDestroyEventI } from "../../util/NgLifeCycleEvents";
import { TupleDataLoaderTupleABC } from "./TupleDataLoaderTupleABC";
export declare class TupleDataLoader {
    private ngLifeCycleEvents;
    private readonly action;
    private readonly observer;
    private delegateByUuidByTupleType;
    constructor(ngLifeCycleEvents: NgLifeCycleEvents, action: TupleActionPushService, observer: TupleDataObserverService);
    private delegateByUuid;
    removeDelegate<T extends TupleDataLoaderTupleABC>(tuple: string | Tuple, delegate: TupleDataLoaderDelegate<T>): void;
    addDelegate<T extends TupleDataLoaderTupleABC>(tuple: string | Tuple, delegate: TupleDataLoaderDelegate<T>, destroyEvent: NgOnDestroyEventI): void;
    create<T extends TupleDataLoaderTupleABC>(delegate: TupleDataLoaderDelegate<T>): Promise<void>;
    store<T extends TupleDataLoaderTupleABC>(delegate: TupleDataLoaderDelegate<T>): Promise<void>;
    load<T extends TupleDataLoaderTupleABC>(delegate: TupleDataLoaderDelegate<T>): Promise<void>;
    delete<T extends TupleDataLoaderTupleABC>(delegate: TupleDataLoaderDelegate<T>): Promise<void>;
    lock<T extends TupleDataLoaderTupleABC>(delegate: TupleDataLoaderDelegate<T>): Promise<void>;
    private convertResponse;
}
