import * as ILog from "@terrencecrowley/logabstract";
import * as OTC from "./otcomposite";
import * as OTE from "./otengine";
export declare const ClientIDForServer: string;
export declare class OTServerEngine extends OTE.OTEngine {
    stateServer: OTC.OTCompositeResource;
    logServer: OTC.OTCompositeResource[];
    valCache: any;
    highSequence: any;
    clientSequenceNo: number;
    constructor(ilog: ILog.ILog, rid: string);
    serverClock(): number;
    rid(): string;
    cid(): string;
    startLocalEdit(): OTC.OTCompositeResource;
    toValue(): any;
    getProp(s: string): any;
    getName(): string;
    getType(): string;
    getDescription(): string;
    getCreatedBy(): string;
    getCreateTime(): string;
    getCreatedByName(): string;
    hasSeenEvent(orig: OTC.OTCompositeResource): boolean;
    isNextEvent(orig: OTC.OTCompositeResource): boolean;
    rememberSeenEvent(orig: OTC.OTCompositeResource): void;
    forgetEvents(orig: OTC.OTCompositeResource): void;
    clientHighSequence(cid: string): number;
    garbageCollect(): void;
    addServer(orig: OTC.OTCompositeResource): number;
    addLocalEdit(orig: OTC.OTCompositeResource): void;
    toJSON(): any;
    validateLog(): void;
    loadFromObject(o: any): void;
}
