import type { languages, editor } from "monaco-editor";
import { type TypeSchema } from "@nlighten/json-schema-utils";
type TypeMap = Record<string, TypeSchema>;
export type JsonTransformItemCompletionProviderFactoryOptions = {
    /**
     * Get a map from json-path to its type schema
     * @param model The model the type map belongs to
     */
    getTypeMap?: (model: editor.ITextModel) => TypeMap | undefined;
    /**
     * Get a list of suggestions (e.g. variable names/paths) for the current model
     * @param model
     */
    getSuggestions?: (model: editor.ITextModel) => string[] | undefined;
};
export declare const jsonTransformerItemCompletionProvider: (options: JsonTransformItemCompletionProviderFactoryOptions) => languages.CompletionItemProvider;
/**
 * Add item completion for JSON transformers
 * Additional suggestions and type mapping can be provided in options
 * @param monaco
 * @param options
 */
export declare const registerJsonTransformItemCompletionProvider: (monaco: {
    languages: typeof languages;
}, options: JsonTransformItemCompletionProviderFactoryOptions) => void;
export {};
//# sourceMappingURL=jsonCompletionItemProvider.d.ts.map