import * as ILog from "@terrencecrowley/logabstract";
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;
    actionAllClient: OTC.OTCompositeResource;
    actionAllPendingClient: OTC.OTCompositeResource;
    actionSentClient: OTC.OTCompositeResource;
    actionSentClientOriginal: OTC.OTCompositeResource;
    actionServerInterposedSentClient: OTC.OTCompositeResource;
    constructor(ilog: ILog.ILog, 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;
    failbackToInitialState(): void;
    failbackToServerState(): void;
    addRemote(orig: OTC.OTCompositeResource): void;
    addLocalEdit(orig: OTC.OTCompositeResource): void;
}
