import * as OTC from "./otcomposite";
import * as OTE from "./otengine";
export declare class OTClientEngine extends OTE.OTEngine {
    clientID: string;
    resourceID: string;
    isNeedAck: boolean;
    isNeedResend: boolean;
    bReadOnly: boolean;
    clientSequenceNo: number;
    stateServer: OTC.OTCompositeResource;
    stateLocal: OTC.OTCompositeResource;
    valCache: any;
    private actionAllClient;
    private actionAllPendingClient;
    private actionSentClient;
    private actionSentClientOriginal;
    private actionServerInterposedSentClient;
    constructor(rid: string, cid: string);
    initialize(): void;
    serverClock(): number;
    rid(): string;
    cid(): string;
    toValue(): any;
    setReadOnly(b: boolean): void;
    startLocalEdit(): OTC.OTCompositeResource;
    isPending(): boolean;
    getPending(): OTC.OTCompositeResource;
    resetPending(): void;
    private failbackToInitialState();
    private failbackToServerState();
    addRemote(orig: OTC.OTCompositeResource): void;
    addLocalEdit(orig: OTC.OTCompositeResource): void;
}
