/**
 * Command Execution Contract
 *
 * Standardized lifecycle: parse -> validate -> execute -> render
 * for CLI command handlers.
 */
export interface CommandExecutionContract<TParsedArgs, TExecutionResult> {
    parse(rawArgs: string[]): TParsedArgs;
    validate(parsedArgs: TParsedArgs): void | Promise<void>;
    execute(parsedArgs: TParsedArgs): Promise<TExecutionResult> | TExecutionResult;
    render(result: TExecutionResult, context: {
        rawArgs: string[];
        parsedArgs: TParsedArgs;
    }): Promise<void> | void;
}
/**
 * Run a command through the standard lifecycle.
 */
export declare function runCommandWithContract<TParsedArgs, TExecutionResult>(rawArgs: string[], contract: CommandExecutionContract<TParsedArgs, TExecutionResult>): Promise<{
    parsedArgs: TParsedArgs;
    result: TExecutionResult;
}>;
//# sourceMappingURL=command-execution-contract.d.ts.map