/**
 * -------------------------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.
 * See License in the project root for license information.
 * -------------------------------------------------------------------------------------------
 */
import { BackingStoreFactory, DateOnly, Duration, TimeOnly, type Parsable, type ParsableFactory, type ParseNode } from "@microsoft/kiota-abstractions";
export declare class JsonParseNode implements ParseNode {
    private readonly _jsonNode;
    private readonly backingStoreFactory?;
    /**
     * Creates an instance of JsonParseNode.
     * @param _jsonNode - The JSON node to parse.
     * @param backingStoreFactory - The factory to create backing stores.
     */
    constructor(_jsonNode: unknown, backingStoreFactory?: BackingStoreFactory | undefined);
    onBeforeAssignFieldValues: ((value: Parsable) => void) | undefined;
    onAfterAssignFieldValues: ((value: Parsable) => void) | undefined;
    getStringValue: () => string | undefined;
    getChildNode: (identifier: string) => ParseNode | undefined;
    getBooleanValue: () => boolean | undefined;
    getNumberValue: () => number | undefined;
    getGuidValue: () => string | undefined;
    getDateValue: () => Date | undefined;
    getDateOnlyValue: () => DateOnly | undefined;
    getTimeOnlyValue: () => TimeOnly | undefined;
    getDurationValue: () => Duration | undefined;
    getCollectionOfPrimitiveValues: <T>() => T[] | undefined;
    getByteArrayValue(): ArrayBuffer | undefined;
    getCollectionOfObjectValues: <T extends Parsable>(method: ParsableFactory<T>) => T[] | undefined;
    getObjectValue: <T extends Parsable>(parsableFactory: ParsableFactory<T>) => T;
    private readonly assignFieldValues;
    getCollectionOfEnumValues: <T>(type: unknown) => T[];
    getEnumValue: <T>(type: unknown) => T | undefined;
}
//# sourceMappingURL=jsonParseNode.d.ts.map