import { Command } from '@oclif/core'; import { type FlagValues } from './config/manager.js'; import { MetaAdsClient } from './api/client.js'; import { OutputFormatter, type TableColumn } from './output/formatter.js'; import { CliError } from './errors/handler.js'; /** * Base command with common flags and utilities */ export declare abstract class BaseCommand extends Command { static baseFlags: { account: import("@oclif/core/interfaces").OptionFlag; output: import("@oclif/core/interfaces").OptionFlag; verbose: import("@oclif/core/interfaces").BooleanFlag; quiet: import("@oclif/core/interfaces").BooleanFlag; 'output-fields': import("@oclif/core/interfaces").OptionFlag; 'no-meta': import("@oclif/core/interfaces").BooleanFlag; }; protected formatter: OutputFormatter; protected client: MetaAdsClient; protected outputFieldsFilter?: string[]; protected noMetaWrapper?: boolean; /** * Initialize the formatter with parsed flags */ protected initFormatter(flags: { output?: string; verbose?: boolean; quiet?: boolean; 'output-fields'?: string; 'no-meta'?: boolean; }): void; /** * Filter object to only include specified fields */ private filterFields; /** * Initialize the API client with parsed flags */ protected initClient(flags: FlagValues): Promise; /** * Get flags as FlagValues type */ protected toFlagValues(flags: { account?: string; output?: string; verbose?: boolean; quiet?: boolean; token?: string; 'output-fields'?: string; 'no-meta'?: boolean; }): FlagValues & { 'output-fields'?: string; 'no-meta'?: boolean; }; /** * Output a success response */ protected outputSuccess(data: T, accountId?: string, columns?: TableColumn ? U : T>[]): void; /** * Output an error and exit */ protected outputError(error: CliError | Error | unknown): never; /** * Handle any error and output appropriately */ protected handleError(error: unknown): never; } /** * Base command for commands that require authentication */ export declare abstract class AuthenticatedCommand extends BaseCommand { init(): Promise; /** * Run with authentication and error handling */ protected runWithAuth(flags: FlagValues & { output?: string; verbose?: boolean; quiet?: boolean; 'output-fields'?: string; 'no-meta'?: boolean; }, fn: () => Promise): Promise; } //# sourceMappingURL=base-command.d.ts.map