import { Arguments, Argv, CommandModule } from "yargs"; import { Signale } from "signale"; declare const RESOLVE: unique symbol; declare const REJECT: unique symbol; declare const HANDLED: unique symbol; declare const LOGGER: unique symbol; export interface Context { [RESOLVE]: (value?: any) => void; [REJECT]: (reason?: any) => void; [LOGGER]?: Signale; [HANDLED]?: boolean; } export interface RootArguments { cwd: string; silent: boolean; } declare type CommandHandler = (args: Arguments & Context) => Promise; declare type RootCommandModule = CommandModule; export interface Command extends Pick, Exclude, "handler">> { handler: CommandHandler; } export declare function getLogger(ctx: Context): Signale; export declare function setLogger(ctx: T, logger: Signale): T; export declare function wrapHandler(handler: CommandHandler): CommandHandler; export declare function wrapCommand(cmd: Command): RootCommandModule; export declare function parse(input: Argv, argv: string[]): Promise; export {};