import { JsonSchema, JsonSchemaNode } from "vc-schema-tools"; import { SchemaDataInput, SchemaDataResponse, WorkingSchema, SchemaMetadata } from "./types"; import { SertoUiContextInterface } from "../../../context/SertoUiContext"; export declare const NESTED_TYPE_KEY = "NESTED"; export declare const typeOptions: { [typeName: string]: JsonSchemaNode; }; export declare function isFullSchema(schema: WorkingSchema): boolean; /** Some imported/pasted schemas (like traceability ones) may only represent `credentialSubject`. This function creates a full JSON Schema document for VC from that: adding required VC properties, nesting schema properties under `credentialSubject`, adding metadata, $id, etc. */ export declare function ensureFullSchema(_schema: WorkingSchema, buildSchemaUrl: SertoUiContextInterface["schemasService"]["buildSchemaUrl"]): JsonSchema; /** Take a JSON Schema source, fill in any missing pieces, and wrap it in the metadata expected in the SchemaDataInput type. */ export declare function jsonSchemaToSchemaInput(schema: WorkingSchema, buildSchemaUrl?: SertoUiContextInterface["schemasService"]["buildSchemaUrl"]): SchemaDataInput; /** Used e.g. for taking an existing schema response from DB and using it to populate the schema creator/editor when editing a schema. */ export declare function schemaResponseToWorkingSchema(schemaResponse: SchemaDataResponse): WorkingSchema; export declare function getLdTypesFromSchemaResponse(schemaResponse: SchemaDataInput): { subjectLdType?: string; credLdType: string; }; export declare function getSchemaUris(schema: SchemaDataInput | SchemaDataResponse): { jsonSchema?: string; jsonLdContext?: string; };