/**
 * -------------------------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.
 * See License in the project root for license information.
 * -------------------------------------------------------------------------------------------
 */
import { DateOnly, Duration, type Guid, type ModelSerializerFunction, type Parsable, type SerializationWriter, TimeOnly } from "@microsoft/kiota-abstractions";
export declare class FormSerializationWriter implements SerializationWriter {
    writeByteArrayValue(key?: string, value?: ArrayBuffer | null): void;
    private readonly writer;
    private static readonly propertySeparator;
    private depth;
    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 writePropertyName;
    private readonly shouldWriteValueOrNull;
    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 | null | 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;
    private readonly convertStringToArrayBuffer;
    writeAdditionalData: (additionalData: Record<string, unknown> | undefined) => void;
    private readonly writeAnyValue;
}
//# sourceMappingURL=formSerializationWriter.d.ts.map