import { Command, Config } from '@oclif/core';
import { BlockFrostAPI } from '@blockfrost/blockfrost-js';
import { CommandDataType } from '../utils/types';
export declare abstract class BaseCommand extends Command {
    private client;
    private blockfrostNetwork;
    abstract doWork(): Promise<any>;
    static strict: boolean;
    static flags: {
        help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
        mainnet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        testnet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        'testnet-magic': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
        json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        'out-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
    };
    constructor(argv: string[], config: Config);
    private handleTestnetMagic;
    private parseBaseCommand;
    getClient(): Promise<BlockFrostAPI>;
    prettyPrint: (data: CommandDataType<typeof this.doWork>) => void;
    toFile(data: any): Promise<void>;
    catch(err: Error & {
        exitCode?: number | undefined;
    }): Promise<any>;
    run: () => Promise<BaseCommand>;
}
