/// import { inspect, InspectOptions } from "util"; import V1 from "../V1"; import { SchemaVersionListInstance } from "./schema/schemaVersion"; export interface SchemaContext { versions: SchemaVersionListInstance; /** * Fetch a SchemaInstance * * @param callback - Callback to handle processed record * * @returns Resolves to processed SchemaInstance */ fetch(callback?: (error: Error | null, item?: SchemaInstance) => any): Promise; /** * Provide a user-friendly representation */ toJSON(): any; [inspect.custom](_depth: any, options: InspectOptions): any; } export interface SchemaContextSolution { id: string; } export declare class SchemaContextImpl implements SchemaContext { protected _version: V1; protected _solution: SchemaContextSolution; protected _uri: string; protected _versions?: SchemaVersionListInstance; constructor(_version: V1, id: string); get versions(): SchemaVersionListInstance; fetch(callback?: (error: Error | null, item?: SchemaInstance) => any): Promise; /** * Provide a user-friendly representation * * @returns Object */ toJSON(): SchemaContextSolution; [inspect.custom](_depth: any, options: InspectOptions): string; } interface SchemaResource { id: string; url: string; links: Record; latest_version_date_created: Date; latest_version: number; } export declare class SchemaInstance { protected _version: V1; protected _solution: SchemaContextSolution; protected _context?: SchemaContext; constructor(_version: V1, payload: SchemaResource, id?: string); /** * The unique identifier of the schema. Each schema can have multiple versions, that share the same id. */ id: string; /** * The URL of this resource. */ url: string; /** * Contains a dictionary of URL links to nested resources of this schema. */ links: Record; /** * The date that the latest schema version was created, given in ISO 8601 format. */ latestVersionDateCreated: Date; /** * The latest version published of this schema. */ latestVersion: number; private get _proxy(); /** * Fetch a SchemaInstance * * @param callback - Callback to handle processed record * * @returns Resolves to processed SchemaInstance */ fetch(callback?: (error: Error | null, item?: SchemaInstance) => any): Promise; /** * Access the versions. */ versions(): SchemaVersionListInstance; /** * Provide a user-friendly representation * * @returns Object */ toJSON(): { id: string; url: string; links: Record; latestVersionDateCreated: Date; latestVersion: number; }; [inspect.custom](_depth: any, options: InspectOptions): string; } export interface SchemaSolution { } export interface SchemaListInstance { _version: V1; _solution: SchemaSolution; _uri: string; (id: string): SchemaContext; get(id: string): SchemaContext; /** * Provide a user-friendly representation */ toJSON(): any; [inspect.custom](_depth: any, options: InspectOptions): any; } export declare function SchemaListInstance(version: V1): SchemaListInstance; export {};