import { GraphQLSchema } from 'graphql';
import { LaboratoryDocsTarget } from './docs';
import * as monaco from 'monaco-editor';
export declare const OPEN_DOCS_COMMAND_ID = "hive-laboratory.openDocs";
export declare const docsTargetAtPosition: (schema: GraphQLSchema, text: string, position: monaco.IPosition) => LaboratoryDocsTarget | null;
/**
 * monaco-graphql owns the GraphQL hover, and its content is produced in a worker
 * we cannot reach into. Rather than stack a second hover card next to it, the mode
 * config turns theirs off (see `syncMonacoGraphQL`) and this provider rebuilds it
 * from the same `getHoverInformation` call, with the docs link appended.
 */
export declare const registerDocsHover: (options: {
    getSchema: () => GraphQLSchema | null;
    openDocs: (target?: LaboratoryDocsTarget) => void;
}) => () => void;
