import detailsInterfaces = require("./detailsInterfaces"); import itemsImpl = require("./items"); import rp = require("raml-1-parser"); import hl = rp.hl; import commonInterfaces = require("../common/commonInterfaces"); export declare type IParseResult = hl.IParseResult; /** * Gets details for a position. * Requires AST provider to be set up via setASTProvider method call. * * In case of the optional position parameter missing, AST provider's getSelectedNode method * will be called to determine the node to return detaisl for. * @param position - position index in text counting from 0. */ export declare function buildItemByPosition(position?: number): detailsInterfaces.DetailsItem; /** * Creates an item by node. * @param node * @returns {TopLevelNode} */ export declare function buildItem(parseResults: hl.IParseResult): detailsInterfaces.DetailsItem; /** * Finds item by its ID. * * @param root - details root. * @param id - id of the item to find. */ export declare function getItemById(root: detailsInterfaces.DetailsItem, id: string): detailsInterfaces.DetailsItem; /** * Changes the value of details item. * @param position - cursor position * @param itemID - details item ID * @param value - new value */ export declare function changeDetailValue(position: number, itemID: string, value: string | number | boolean): commonInterfaces.IChangedDocument; /** * Runs details action * @param position - cursor position * @param itemID - details item ID */ export declare function runDetailsAction(position: number, itemID: string): commonInterfaces.IChangedDocument; export declare function generateSuggestions(node: hl.IHighLevelNode, root: itemsImpl.TopLevelNode): void;