import { PrintHelp, Versioned } from './helpdoc'; import { ParseContext, ParsingResult, Register } from './argparser'; import { Result } from './Result'; import { Exit } from './effects'; export declare type Handling = { handler: (values: Values) => Result; }; export declare type Runner = PrintHelp & Partial & Register & Handling & { run(context: ParseContext): Promise>; }; export declare type Into> = R extends Runner ? X : never; export declare function run>(ap: R, strings: string[]): Promise>; /** * Runs a command but does not apply any effect */ export declare function runSafely>(ap: R, strings: string[]): Promise>>; /** * Run a command but don't quit. Returns an `Result` instead. */ export declare function dryRun>(ap: R, strings: string[]): Promise>>;