import { SfdxCommand, flags } from '@salesforce/command';
import { Dictionary } from '@salesforce/ts-types';
import Output = flags.Output;
export declare abstract class ToolbeltCommand extends SfdxCommand {
    protected static supportsPerfLogLevelFlag: boolean;
    protected static schema: {
        name: string;
        flag: string;
    };
    static theDescription: string;
    static deprecated: {
        version: number;
        /**
         * Add the "Use <to> instead." messaging.
         */
        to?: string;
        /**
         * Use the default messaging but append an additional message at the end.
         */
        message?: string;
        /**
         * Override the default messaging.
         */
        messageOverride?: string;
    };
    /**
     * In order to get the help property displayed during --help, we need to append it onto the description.
     * This means that all commands that extend ToolbeltCommand can't use `public static readme description = ''`.
     * To get around this, we use the `theDescription` name instead.
     *
     * When commands migrate to SfdxCommand, they should change the messages for description to include both the
     * description and the help messages.
     */
    static get description(): string;
    static get extraHelp(): string;
    static get flags(): Output;
    private legacyContext?;
    /**
     * Call to stringify parsed flags for backward compatibility.
     * Don't invoke this if you wish to use new-style parsed flags.
     */
    protected stringifyFlags(): void;
    /**
     * This is a bridge to for all old cli-engine commands.
     * All new oclif commands should be refactored to NOT use
     * this method anymore, and should move the old Command classes
     * in lib that have a validate and execute method to be in the
     * actual oclif command class.
     *
     * TODO Provide instructions on how to get people to move off of execLegacyCommand
     * * Remove src/lib/path/to/*Command file and put logic in the oclif/force/path/to/command file
     * * Change getColumnData to protected static results {} // TODO more info here.
     * * Remove getHumanSuccessMessage and just put it at the end of your run command
     * * Remove getHumanErrorMessage and throw an SfdxError
     * * ...
     *
     * @param command
     */
    protected execLegacyCommand(command: any, context: any, stdin?: any): Promise<any>;
    /**
     * returns true if a wildcard like expansion or behavior is detected
     *
     * @param param the next parameter passed into the cli
     */
    checkIfWildcardError(param: string): boolean;
    /**
     * SfdxError.wrap does not keep actions, so we need to convert ourselves if using almError
     *
     * @param err
     */
    protected catch(err: Error): Promise<void>;
    protected resolveLegacyContext(): Promise<Dictionary<any>>;
    protected legacyOutput(command: any, obj: any): void;
    protected get statics(): typeof ToolbeltCommand;
}
