import { ShapeBase } from './ShapeBase.js';
import { IApiAnyShape, IApiArrayShape, IApiDataExample, IApiDataNodeUnion, IApiNodeShape, IApiPropertyShape, IApiScalarShape, IShapeUnion, IApiTupleShape, IApiUnionShape } from '../definitions/Shapes.js';
export declare class ShapeJsonSchemaGenerator extends ShapeBase {
    /**
     * Generates a schema from AMF's shape.
     *
     * @param schema The Shape definition
     */
    generate(schema: IShapeUnion | IApiPropertyShape<IShapeUnion>): string | number | boolean | null | undefined;
    /**
     * Processes the Shape definition and returns a JavaScript object or array.
     */
    toObject(schema: IShapeUnion): object | object[] | string | number | boolean | null | undefined;
    /**
     * Serializes generated JS value according to the mime type.
     */
    serialize(value: object | object[]): string;
    protected _scalarShapeObject(schema: IApiScalarShape): string | number | boolean | null | undefined;
    protected _nilShapeObject(): undefined;
    protected _nodeShapeObject(schema: IApiNodeShape): object;
    protected _unionShapeObject(schema: IApiUnionShape): object | object[] | string | number | boolean | null | undefined;
    protected _anyOfUnion(schema: IApiUnionShape): object | object[] | string | number | boolean | null | undefined;
    protected _oneOfUnion(schema: IApiUnionShape): object | object[] | string | number | boolean | null | undefined;
    /**
     * Combines all properties from both all shapes in the union
     */
    protected _allOfUnion(schema: IApiUnionShape): object | object[] | string | number | boolean | null | undefined;
    /**
     * @param union The list of unions in the shape
     * @param defaultValue The definition of a default value.
     */
    protected _unionDefaultValue(union: IShapeUnion[], defaultValue: IApiDataNodeUnion): string | number | boolean | null | undefined;
    protected _arrayShapeObject(schema: IApiArrayShape): unknown[];
    protected _tupleShapeObject(schema: IApiTupleShape): object | object[] | string | number | boolean | null | undefined;
    protected _anyShapeObject(schema: IApiAnyShape): object | object[] | string | number | boolean | null | undefined;
    /**
     * @returns The value for the property or undefined when cannot generate the value.
     */
    protected _propertyShapeObject(schema: IApiPropertyShape): object | object[] | string | number | boolean | null | undefined;
    /**
     * @param example The example to turn into a JS object
     */
    protected _exampleToObject(example?: IApiDataExample): object | object[] | string | number | boolean | null | undefined;
    protected _fileShapeObject(): undefined;
    protected _schemaShapeObject(): undefined;
}
//# sourceMappingURL=ShapeJsonSchemaGenerator.d.ts.map