import { SfCommand } from '@salesforce/sf-plugins-core';
import { AnyJson } from '@salesforce/ts-types';
export default class OrgPurgeProfile extends SfCommand<any> {
    static title: string;
    static description: string;
    static examples: string[];
    static flags: any;
    protected attributesToMuteDefinition: ({
        packageType: string;
        nodeNameOnProfile: string;
        attributesToMute: string[];
        muteValue: boolean;
        includedNames?: undefined;
        action?: undefined;
        excludedNames?: undefined;
        excludedFiles?: undefined;
    } | {
        nodeNameOnProfile: string;
        attributesToMute: never[];
        includedNames: string[];
        action: string;
        packageType?: undefined;
        muteValue?: undefined;
        excludedNames?: undefined;
        excludedFiles?: undefined;
    } | {
        nodeNameOnProfile: string;
        attributesToMute: string[];
        muteValue: boolean;
        excludedNames: string[];
        excludedFiles: string[];
        packageType?: undefined;
        includedNames?: undefined;
        action?: undefined;
    })[];
    protected outputFile: any;
    protected outputFilesRes: any;
    protected allChanges: {
        profile: string;
        node: string;
        name: string;
        attribute: string;
        oldValue: any;
        newValue: any;
    }[];
    run(): Promise<AnyJson>;
    private checkUncommittedChanges;
    private loadFullOrgManifest;
    private muteProfileAttributes;
    filterFullOrgPackageByNamespaces(packageFullOrgPath: string, packageFilteredPackagesPath: string): Promise<void>;
    filterFullOrgPackageByRelevantMetadataTypes(packageFilteredPackagesPath: string, packageFilteredProfilePath: string, selectedProfiles: string[]): Promise<void>;
    deployToOrg(orgUsername: string, selectedProfiles: string[]): Promise<void>;
}
