/*! * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { Client, ExportedPromise, Message } from '../../../../internal'; import { Protocol } from '../../../protocols'; /** * @hidden */ export declare type SynchronizationStage = 'always' | 'load-assets' | 'create-actors' | 'active-media-instances' | 'create-animations' | 'sync-animations' | 'set-behaviors' | 'never'; /** * @hidden * Synchronizes application state with a client. */ export declare class ClientSync extends Protocol { private client; private inProgressStages; private completedStages; private sequence; /** @override */ get name(): string; constructor(client: Client); /** * @override * Handle the outgoing message according to the synchronization rules specified for this payload. */ sendMessage(message: Message, promise?: ExportedPromise, timeoutSeconds?: number): void; /** @override */ protected missingPromiseForReplyMessage(message: Message): void; private handlingForMessage; private isStageComplete; private isStageInProgress; private beginStage; private completeStage; private executeStage; /** * @override */ run(): Promise; /** * @hidden * Driver for the `load-assets` synchronization stage. */ 'stage:load-assets': () => void; /** * @hidden * Driver for the `create-actors` synchronization stage. */ 'stage:create-actors': () => void; /** * @hidden * Driver for the `set-behaviors` synchronization stage. */ 'stage:set-behaviors': () => void; /** * @hidden * Driver for the `active-media-instances` synchronization stage. */ 'stage:active-media-instances': () => void; /** * @hidden * Driver for the `create-animations` synchronization stage. */ 'stage:create-animations': () => void; /** * @hidden * Driver for the `sync-animations` synchronization stage. */ 'stage:sync-animations': () => void; private createActorRecursive; private createActorBehavior; private createActor; private activeMediaInstances; sendQueuedMessages(): Promise; } //# sourceMappingURL=clientSync.d.ts.map