import { Command } from '@oclif/core'; import { DataBridgeConfig } from '../types/config.js'; /** * Base command class for all DataBridge CLI commands. * * TEACHING NOTE: Centralises shared behaviour so individual commands * stay focused on their own logic. Provides: * - Typed config loading with validation * - Consistent --verbose flag * - Consistent error formatting * - Debug logging helper */ export default abstract class BaseDataBridgeCommand extends Command { /** Hide this from the command list — it's a base class, not a user command. */ static hidden: boolean; /** * Shared flags available on every command. * Child commands merge these with their own flags via: * static override flags = { ...BaseDataBridgeCommand.baseFlags, myFlag: ... } */ static baseFlags: { verbose: import("@oclif/core/interfaces").BooleanFlag; }; /** Whether verbose/debug output is enabled */ protected verbose: boolean; /** * Initialise the base command (called before run()). * Parses the --verbose flag so child commands don't need to. */ init(): Promise; /** * Load and validate .databridge.json from the current working directory. * Returns a strongly-typed DataBridgeConfig or exits with a clear error. */ protected loadDataBridgeConfig(): Promise; /** * Log a message only when --verbose is active. * Prefixed with a dim "[debug]" label so users can distinguish * verbose output from normal output. */ protected debugLog(msg: string): void; /** * Consistently format a fatal error. * oclif's this.error() already prints "Error:" — we avoid double-wrapping * with chalk.red to keep output clean. */ protected fail(message: string, suggestions?: string[]): never; /** * Assert that a file or directory exists, or exit with a helpful error. */ protected requirePath(filePath: string, errorMessage: string): Promise; } //# sourceMappingURL=base.d.ts.map