import type { RShell } from '../../r-bridge/shell';
import type { SupportedQueryTypes } from '../../queries/query';
import type { SupportedVirtualQueryTypes } from '../../queries/virtual-query/virtual-queries';
import type { FlowrSearchLike } from '../../search/flowr-search-builder';
export interface ShowSearchOptions {
    readonly showCode?: boolean;
    readonly collapseResult?: boolean;
}
export declare function showSearch(shell: RShell, code: string, search: FlowrSearchLike, { collapseResult }?: ShowSearchOptions): Promise<string>;
export interface QueryDocumentation {
    readonly name: string;
    readonly type: 'virtual' | 'active';
    readonly shortDescription: string;
    readonly functionName: string;
    readonly functionFile: string;
    readonly buildExplanation: (shell: RShell) => Promise<string>;
}
export declare const RegisteredQueries: {
    active: Map<string, QueryDocumentation>;
    virtual: Map<string, QueryDocumentation>;
};
export declare function registerQueryDocumentation(query: SupportedQueryTypes | SupportedVirtualQueryTypes, doc: QueryDocumentation): void;
export declare function linkToQueryOfName(id: SupportedQueryTypes | SupportedVirtualQueryTypes): string;
export declare function tocForQueryType(type: 'active' | 'virtual'): string;
export declare function explainQueries(shell: RShell, type: 'active' | 'virtual'): Promise<string>;
