import { SfCommand } from '@salesforce/sf-plugins-core';
import { AnyJson } from '@salesforce/ts-types';
export default class SmartDeploy extends SfCommand<any> {
    static title: string;
    static aliases: string[];
    static description: string;
    static examples: string[];
    static flags: any;
    static requiresProject: boolean;
    protected checkOnly: boolean;
    protected configInfo: any;
    protected testLevel: any;
    protected testClasses: any;
    protected smartDeployOptions: {
        targetUsername: string;
        conn: any;
        testClasses: string;
        postDestructiveChanges?: string;
        preDestructiveChanges?: string;
        delta?: boolean;
        destructiveChangesAfterDeployment?: boolean;
        extraCommands?: any[];
    };
    protected packageXmlFile: string;
    protected delta: boolean;
    protected debugMode: boolean;
    run(): Promise<AnyJson>;
    private setAdditionalOptions;
    private handleDeltaDeployment;
    private initPackageXmlAndDestructiveChanges;
    private handlePackages;
    private initTestLevelAndTestClasses;
    isDeltaAllowed(): Promise<boolean>;
    isNoDelta(latestCommit: any): any;
    isSmartDeploymentTestsAllowed(): Promise<boolean>;
    isNoSmartDeploymentTests(latestCommit: any): any;
}
