/** * ------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. * See License in the project root for license information. * ------------------------------------------------------------------------------------------- */ import type { Parsable } from "./parsable.js"; import type { SerializationWriter } from "./serializationWriter.js"; import type { SerializationWriterFactory } from "./serializationWriterFactory.js"; /** Proxy factory that allows the composition of before and after callbacks on existing factories. */ export declare abstract class SerializationWriterProxyFactory implements SerializationWriterFactory { private readonly _concrete; private readonly _onBefore?; private readonly _onAfter?; private readonly _onStart?; getValidContentType(): string; /** * Creates a new proxy factory that wraps the specified concrete factory while composing the before and after callbacks. * @param _concrete the concrete factory to wrap * @param _onBefore the callback to invoke before the serialization of any model object. * @param _onAfter the callback to invoke after the serialization of any model object. * @param _onStart the callback to invoke when the serialization of a model object starts */ constructor(_concrete: SerializationWriterFactory, _onBefore?: ((value: Parsable) => void) | undefined, _onAfter?: ((value: Parsable) => void) | undefined, _onStart?: ((value: Parsable, writer: SerializationWriter) => void) | undefined); getSerializationWriter(contentType: string): SerializationWriter; } //# sourceMappingURL=serializationWriterProxyFactory.d.ts.map