///
import * as helpCommand from './commands/help';
import * as interpretCommand from './commands/interpret';
import * as layoutCommand from './commands/layout';
export interface Command {
name: string;
parseOptions(args: readonly string[]): Promise;
run(options: O, stdin: typeof process.stdin, stdout: typeof process.stdout): Promise;
}
export declare class OptionParseError extends Error {
}
export interface GlobalOptions {
nodePath: string;
executablePath: string;
help: boolean;
command: string;
commandArgs: readonly string[];
}
export declare const commands: readonly [typeof helpCommand, typeof interpretCommand, typeof layoutCommand];
export declare type Options = {
command: typeof helpCommand.name;
options: helpCommand.Options;
} | {
command: typeof interpretCommand.name;
options: interpretCommand.Options;
} | {
command: typeof layoutCommand.name;
options: layoutCommand.Options;
};
export declare function parseGlobalOptions(args: readonly string[]): GlobalOptions;
export declare function parseOptions(args: readonly string[]): Promise;
export default function main(args: typeof process.argv, stdin: NodeJS.ReadableStream, stdout: NodeJS.WritableStream, stderr: NodeJS.WritableStream): Promise;