import { Command } from 'clipanion'; import type { Jsonifiable } from 'type-fest'; import type { LockedRepresentationString, FavaLib } from 'favalib'; import { Settings } from './utils/init.mjs'; export interface ErrorInCommand { timestamp: number; message: string; } declare abstract class BaseCommand extends Command { abstract exec(): Promise; abstract requireFavaLib: boolean; errors: ErrorInCommand[]; preFormattedOutput: boolean; rawOutput: boolean; format: string | undefined; verbose: boolean | undefined; forceSync: boolean | undefined; noSync: boolean | undefined; requiresSyncConnection: boolean; lockedRepresentationString: LockedRepresentationString; settings: Settings; favaLib: FavaLib; get machineOutput(): boolean; protected validFormats(): string[]; output(string: string): void; execute(): Promise; private recordSuccessfulSync; private addError; } export default BaseCommand;