export interface PropertySuggestion { type: string; name: string; enum?: string[]; } export interface IndexableSuggestion { type?: string; enum?: string[]; additionalProperties?: IndexableSuggestion; items?: IndexableSuggestion; } export interface Suggestions { properties: PropertySuggestion[]; additionalProperties: IndexableSuggestion; items: IndexableSuggestion; } export interface JSONSchema { properties?: JSONSchemaProperties; $defs?: JSONSchemaProperties; } export interface JSONSchemaProperty { type?: string; $ref?: string; additionalProperties?: JSONSchemaProperty; items?: JSONSchemaProperty; properties?: JSONSchemaProperties; } export type JSONSchemaPropertyWithDefs = JSONSchema & JSONSchemaProperty; export interface JSONSchemaProperties { [key: string]: JSONSchemaProperty; } export declare function getKeywords(schema: JSONSchemaPropertyWithDefs, keywords?: Set): string[]; /** * Build suggestions for autocompletion based on a JSON schema definition and a property path * * @param schema an object model defined as a JSON schema following the 2020-12 specification * @param path the property path to inspect. If the property path contains '.', then root properties will be returned */ export declare function getSuggestions(schema: JSONSchema, path: string[]): Suggestions;