import { IApiArrayNode, IApiDataNode, IApiObjectNode, IApiScalarNode } from '../definitions/Shapes.js';
type ReturnType = Record<string, unknown> | string | null | number | boolean | undefined;
/**
 * Base class for all schema generators based on AMF's DataNode which includes AMF's examples.
 */
export declare class DataNodeBase {
    /**
     * @param node The AMF data node to turn into a schema.
     * @returns Undefined when passed non-DataNode domain element.
     */
    processNode(node: IApiDataNode): ReturnType | ReturnType[];
    /**
     * @param scalar The scalar node to process.
     * @returns The scalar value.
     */
    processScalarNode(scalar: IApiScalarNode): string | null | number | boolean | undefined;
    /**
     * @param array The array node to process.
     * @returns Array value.
     */
    processArrayNode(array: IApiArrayNode): ReturnType[];
    /**
     * @param object The object node to process.
     * @returns Object value.
     */
    processObjectNode(object: IApiObjectNode): Record<string, unknown>;
    /**
     * Normalizes a property name. It decodes URL encoded values.
     * @param name The property name to normalize
     */
    normalizePropertyName(name: string): string;
}
export {};
//# sourceMappingURL=DataNodeBase.d.ts.map