/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import type { InternalTypes } from "./exposedInternalTypes.js"; import type { Attendee } from "./presence.js"; /** * A function to be called at the end of an update frame * * @internal */ export type PostUpdateAction = () => void; /** * Contract for State Managers as used by a States Workspace (`PresenceStatesImpl`) * * @remarks * See uses of `unbrandIVM`. * * @internal */ export interface ValueManager = InternalTypes.ValueDirectoryOrState> { readonly value?: TValueState; /** * Process an update of `value` for remote attendee. * @param attendee - The attendee whose `value` is being updated * @param received - The revision number received * @param value - The new `value` state */ update(attendee: Attendee, received: number, value: TValueState): PostUpdateAction[]; } //# sourceMappingURL=statesManagerTypes.d.ts.map