import { HoverMerged } from '@sourcegraph/codeintellify/lib/types'; import { SymbolLocationInformation } from 'javascript-typescript-langserver/lib/request-type'; import { Observable } from 'rxjs'; import { Definition, Location, TextDocumentDecoration } from 'sourcegraph/module/protocol/plainTypes'; import { ExtensionsControllerProps } from '../extensions/ExtensionsClientCommonContext'; import { AbsoluteRepo, AbsoluteRepoFile } from '../repo'; import { LSPReferencesParams, LSPSelector, LSPTextDocumentPositionParams, XReferenceOptions } from './lsp'; /** * Specifies an LSP mode. */ export interface ModeSpec { /** The LSP mode, which identifies the language server to use. */ mode: string; } export { HoverMerged }; /** * Fetches hover information for the given location. * * @param ctx the location * @return hover for the location */ export declare function getHover(ctx: LSPTextDocumentPositionParams, { extensionsController }: ExtensionsControllerProps): Observable; /** * Fetches definitions (in the same repository) for the given location. * * @param ctx the location * @return definitions of the symbol at the location */ export declare function getDefinition(ctx: LSPTextDocumentPositionParams, { extensionsController }: ExtensionsControllerProps): Observable; /** * Fetches the destination URL for the "Go to definition" action in the hover. * * Only the first URL is returned, even if there are results from multiple providers or a provider returns * multiple results. * * @param ctx the location containing the token whose definition to jump to * @return destination URL */ export declare function getJumpURL(ctx: LSPTextDocumentPositionParams, extensions: ExtensionsControllerProps): Observable; /** * Fetches the repository-independent symbol descriptor for the given location. * * Only the first result is returned, even if there are results from multiple providers. * * @param ctx the location * @return information about the symbol at the location */ export declare function getXdefinition(ctx: LSPTextDocumentPositionParams): Observable; /** * Fetches references (in the same repository) to the symbol at the given location. * * @param ctx the location * @return references to the symbol at the location */ export declare function getReferences(ctx: LSPTextDocumentPositionParams & LSPReferencesParams, { extensionsController }: ExtensionsControllerProps): Observable; /** * Fetches implementations (in the same repository) of the symbol at the given location. * * @param ctx the location * @return implementations of the symbol at the location */ export declare function getImplementations(ctx: LSPTextDocumentPositionParams, { extensionsController }: ExtensionsControllerProps): Observable; /** * Fetches references in the repository to the symbol described by the repository-independent symbol descriptor. * * @param ctx the symbol descriptor and repository to search in * @return references to the symbol */ export declare function getXreferences(ctx: XReferenceOptions & AbsoluteRepo & LSPSelector): Observable; /** * Fetches decorations for the given file. * * @param ctx the file * @return decorations */ export declare function getDecorations(ctx: AbsoluteRepoFile & LSPSelector, { extensionsController }: ExtensionsControllerProps): Observable; //# sourceMappingURL=features.d.ts.map