/** * @module SharedLock */ import { type IReadableContext } from "../../../../execution-context/contracts/_module.js"; import { type ISerdeTransformer } from "../../../../serde/contracts/_module.js"; import { type ISharedLockAdapter } from "../../../../shared-lock/contracts/_module.js"; import { SharedLock, type ISerializedSharedLock } from "../../../../shared-lock/implementations/derivables/shared-lock-factory/shared-lock.js"; import { TimeSpan } from "../../../../time-span/implementations/_module.js"; import { type OneOrMore } from "../../../../utilities/_module.js"; /** * @internal */ export type SharedLockSerdeTransformerSettings = { adapter: ISharedLockAdapter; defaultRefreshTime: TimeSpan; serdeTransformerName: string; context: IReadableContext; }; /** * @internal */ export declare class SharedLockSerdeTransformer implements ISerdeTransformer { private readonly adapter; private readonly defaultRefreshTime; private readonly serdeTransformerName; private readonly context; constructor(settings: SharedLockSerdeTransformerSettings); get name(): OneOrMore; isApplicable(value: unknown): value is SharedLock; deserialize(serializedValue: ISerializedSharedLock): SharedLock; serialize(deserializedValue: SharedLock): ISerializedSharedLock; }