/**
 * -------------------------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.
 * See License in the project root for license information.
 * -------------------------------------------------------------------------------------------
 */
import { type DateOnly, type Duration, type Guid, type Parsable, type SerializationWriter, type ModelSerializerFunction, type TimeOnly } from "@microsoft/kiota-abstractions";
/** Serialization writer for multipart/form-data */
export declare class MultipartSerializationWriter implements SerializationWriter {
    writeByteArrayValue(key?: string, value?: ArrayBuffer | null): void;
    private writer;
    onBeforeObjectSerialization: ((value: Parsable) => void) | undefined;
    onAfterObjectSerialization: ((value: Parsable) => void) | undefined;
    onStartObjectSerialization: ((value: Parsable, writer: SerializationWriter) => void) | undefined;
    writeStringValue: (key?: string, value?: string | null) => void;
    private readonly writeRawStringValue;
    writeBooleanValue: (key?: string, value?: boolean | null) => void;
    writeNumberValue: (key?: string, value?: number | null) => void;
    writeGuidValue: (key?: string, value?: Guid | null) => void;
    writeDateValue: (key?: string, value?: Date | null) => void;
    writeDateOnlyValue: (key?: string, value?: DateOnly | null) => void;
    writeTimeOnlyValue: (key?: string, value?: TimeOnly | null) => void;
    writeDurationValue: (key?: string, value?: Duration | null) => void;
    writeNullValue: (key?: string) => void;
    writeCollectionOfPrimitiveValues: <T>(_key?: string, _values?: T[] | null) => void;
    writeCollectionOfObjectValues: <T extends Parsable>(_key?: string, _values?: T[] | null) => void;
    writeObjectValue: <T extends Parsable>(key: string | undefined, value: T | undefined, serializerMethod: ModelSerializerFunction<T>) => void;
    writeEnumValue: <T>(key?: string, ...values: (T | null | undefined)[]) => void;
    writeCollectionOfEnumValues: <T>(key?: string, values?: (T | null | undefined)[]) => void;
    getSerializedContent: () => ArrayBuffer;
    writeAdditionalData: (additionalData: Record<string, unknown> | undefined) => void;
}
//# sourceMappingURL=multipartSerializationWriter.d.ts.map