/**
 * This file contains the references to all scripts, as well as their explanations and arguments.
 *
 * @module
 */
import type { OptionDefinition } from 'command-line-usage';
import type { MergeableRecord } from '../../util/objects';
interface BaseScriptInformation extends MergeableRecord {
    /** name of the tool to present to the user */
    toolName: string;
    /** internal module name to fork/execute, make sure to use the correct path to it with the help of `__dirname` */
    target: string;
    /** description of the tool for the user */
    description: string;
    /** example usage */
    usageExample: string;
    /** command line options that are available */
    options: OptionDefinition[];
}
export interface MasterScriptInformation extends BaseScriptInformation {
    type: 'master script';
}
export interface HelperScriptInformation extends BaseScriptInformation {
    type: 'helper script';
    masterScripts: string[];
}
export type ScriptInformation = MasterScriptInformation | HelperScriptInformation;
/**
 * We hold `_scripts` internally, as the modifiable variant and export the readonly scripts
 */
declare const _scripts: {
    slicer: {
        toolName: string;
        target: string;
        description: string;
        options: OptionDefinition[];
        usageExample: string;
        type: string;
    };
    benchmark: {
        toolName: string;
        target: string;
        description: string;
        type: string;
        usageExample: string;
        options: OptionDefinition[];
    };
    'benchmark-helper': {
        toolName: string;
        target: string;
        description: string;
        usageExample: string;
        options: OptionDefinition[];
        type: string;
        masterScripts: string[];
    };
    summarizer: {
        toolName: string;
        target: string;
        description: string;
        options: OptionDefinition[];
        usageExample: string;
        type: string;
    };
    'export-quads': {
        toolName: string;
        target: string;
        description: string;
        usageExample: string;
        options: OptionDefinition[];
        type: string;
    };
    stats: {
        toolName: string;
        target: string;
        description: string;
        options: OptionDefinition[];
        usageExample: string;
        type: string;
    };
    'stats-helper': {
        toolName: string;
        target: string;
        description: string;
        options: OptionDefinition[];
        usageExample: string;
        type: string;
        masterScripts: string[];
    };
};
export declare const scripts: Record<keyof typeof _scripts, ScriptInformation>;
export declare function getValidOptionsForCompletion(options: readonly OptionDefinition[], prevArgs: readonly string[]): string[];
export {};
