/**
 * -------------------------------------------------------------------------------------------
 * 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 { ParsableFactory } from "./parsableFactory.js";
import type { DeserializeIntoModelFunction } from "./serializationFunctionTypes.js";
/** Defines the base interface for defining an untyped node. */
export interface UntypedNode extends Parsable {
    /**
     * Gets the value of the UntypedNode.
     */
    getValue(): unknown;
    /**
     * The value represented by the UntypedNode.
     */
    value?: unknown;
}
/**
 * Factory to create an UntypedNode from a string during deserialization.
 * @param _parseNode The ParseNode to deserialize.
 * @returns A function that can deserialize an UntypedNode.
 */
export declare const createUntypedNodeFromDiscriminatorValue: ParsableFactory<UntypedNode>;
/**
 * Type guard to assert that an object instance is an UntypedNode.
 * @param node The object to check.
 * @returns boolean indicating if the node is an UntypedNode.
 */
export declare const isUntypedNode: (node: unknown) => node is UntypedNode;
/**
 * The deserialization implementation for UntypedNode.
 * @param untypedNode - The UntypedNode to deserialize.
 * @returns A function that can deserialize a ParseNode into the provided UntypedNode.
 */
export declare const deserializeIntoUntypedNode: DeserializeIntoModelFunction<UntypedNode>;
/**
 * The serialization implementation for UntypedNode.
 * @param _writer - The serialization writer to use.
 * @param _errorDetails - The error details to include in the serialization.
 */
export declare const serializeUntypedNode: (_writer: SerializationWriter, _errorDetails?: Partial<UntypedNode> | undefined) => void;
//# sourceMappingURL=untypedNode.d.ts.map