import { UnitOfWork, ReferenceId, RecordForCreate, RecordForUpdate, RecordModificationResult } from "../index";
import { CompositeSubRequest } from "./sub-request";
export declare class ReferenceIdImpl implements ReferenceId {
    readonly id: string;
    constructor(id: string);
    toString(): string;
    toApiString(): string;
}
export declare class UnitOfWorkImpl implements UnitOfWork {
    private readonly apiVersion;
    private readonly _subrequests;
    private referenceIdCounter;
    constructor(apiVersion: string);
    registerCreate(record: RecordForCreate): ReferenceId;
    registerDelete(type: string, id: string): ReferenceId;
    registerUpdate(record: RecordForUpdate): ReferenceId;
    get subrequests(): [
        ReferenceId,
        CompositeSubRequest<RecordModificationResult>
    ][];
    private generateReferenceId;
}
