import { Command } from '@oclif/core';
import { PrintCommandContext } from '../types/commands/base-command.js';
export declare abstract class BaseCommand extends Command {
    protected static _withPrintCommand: boolean;
    private _printCommandCalled;
    private _printContext;
    protected forcefullyExitAfterRun: boolean;
    get printContext(): PrintCommandContext;
    set printContext(value: PrintCommandContext);
    static get withPrintCommand(): boolean;
    static set withPrintCommand(value: boolean);
    protected preparePrintCommand(command: Command, flags?: Record<string, any>, args?: Record<string, any>): void;
    static serializeFlags<T>(flags: T): T & typeof this.sharedFlags;
    static sharedFlags: {
        verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        'print-command': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
    };
    protected catch(err: Error & {
        exitCode?: number;
    }): any;
    protected finally(_: Error | undefined): Promise<any>;
}
