import { JsonToken } from '../classes/jsontoken'; import { ComponentPayload } from '../classes/componentpayload'; /** * Mapable to vscode.CompletionItem * if isVsCodeSnippetString, the new vscode.SnippetString(insertText) has to be used and command must be empty * if !isVsCodeSnippetString, use `command: { command: "roomletool.formatRoomleComponent", title: "format" }` */ export declare class VscLikeCompletionItem { label: string; insertText: string; kind: string; isVsCodeSnippetString?: boolean; documentation?: string; } /** * Based on the path of the currentToken (token under the cursor position), will get the definition and the current object at the path. * This gets a list of the missing keys in the current object. * If there is a definition for the current path, it will be used. * Otherwise a default autocomplete snippet will be generated for the missing key. * @param payload payload of the component * @param api RoomleToolApi instance * @param currentToken token under the cursor position * @param template the template to use for the autocomplete snippet */ export declare function getJsonStructureAutocompleteEntries(payload: ComponentPayload, currentToken: JsonToken, template?: any): VscLikeCompletionItem[]; export declare function resolvePlaceholdersOfJsonAutocompleteSnippet(snippet: any, payload: ComponentPayload): any[]; export declare const ComponentJsonAutocompleteSnippets: any;