import { SfCommand } from '@salesforce/sf-plugins-core';
import { AnyJson } from '@salesforce/ts-types';
export default class LintMetadataStatus extends SfCommand<any> {
    static title: string;
    static description: string;
    static examples: string[];
    static flags: any;
    protected static supportsDevhubUsername: boolean;
    static requiresProject: boolean;
    private flowFilePattern;
    private validationRuleFilePattern;
    private ignorePatterns;
    protected inactiveItems: any[];
    protected outputFile: string;
    protected outputFilesRes: any;
    run(): Promise<AnyJson>;
    /**
     * This function verifies the status of flows by checking each flow file.
     * It reads each flow file and checks if the flow is in 'Draft' status.
     * If the flow is in 'Draft' status, it extracts the file name and adds it to the list of draft files.
     *
     * @returns {Promise<string[]>} - A Promise that resolves to an array of draft files. Each entry in the array is the name of a draft file.
     */
    private verifyFlows;
    /**
     * This function verifies the validation rules by checking each rule file for inactive rules.
     * It reads each validation rule file and checks if the rule is active or not.
     * If the rule is inactive, it extracts the rule name and the object name and adds them to the list of inactive rules.
     *
     * @returns {Promise<string[]>} - A Promise that resolves to an array of inactive rules. Each entry in the array is a string in the format 'ObjectName - RuleName'.
     */
    private verifyValidationRules;
    private verifyRecordTypes;
    private verifyApprovalProcesses;
    private verifyForecastingTypes;
    private verifyWorkflowRules;
    private verifyAssignmentRules;
    private verifyAutoResponseRules;
    private verifyEscalationRules;
    /**
     * This function builds a CSV file from arrays of draft flows and inactive validation rules.
     * It first ensures that the output file path is generated.
     * It then maps the draft flows and inactive validation rules into an array of objects, each with a 'type' property set to either "Draft Flow" or "Inactive VR" and a 'name' property set to the file or rule name.
     * Finally, it generates a CSV file from this array and writes it to the output file.
     *
     * @returns {Promise<void>} - A Promise that resolves when the CSV file has been successfully generated.
     */
    private buildCsvFile;
}
