import type { model as amf } from 'amf-client-js'; import type { ShapeDiscriminatorTypesIntermediate, ShapeInheritance } from '../intermediate/inheritance'; import type { ShapeTtls } from '../intermediate/model-info'; import type { ShapeKeys } from './main'; export interface ShapeDiscriminatorDefinition { shapeId: string; shapeName: string; discriminatorPropertyName: string; references: { [key: string]: amf.domain.Shape; }; type: 'string' | 'number'; } export type ShapeDiscriminatorTypes = { [shapeId: string]: ShapeDiscriminatorDefinition; }; export declare function resolveInheritance(shape: amf.domain.NodeShape, shapeKeys: ShapeKeys, shapeTtls: ShapeTtls, shapeInheritance: ShapeInheritance, shapeDiscriminatorTypes: ShapeDiscriminatorTypes): void; export declare function convertShapeDiscriminatorTypes(types: ShapeDiscriminatorTypes): ShapeDiscriminatorTypesIntermediate;