import { AttributionFileTypeEnum, AttributionFormatEnum, ContributingDeveloperSource, IntegrationName, IntegrationType, OnFailure, ScanType } from "../enums";
import { ArgumentParserBase, ICommonArguments, ParsedOptions } from "./ArgumentParserBase";
interface IBaseScanArguments extends ICommonArguments {
    appVersion: string;
    branchName: string;
    branchURI: string;
    buildURI: string;
    buildVersion: string;
    commitHash: string;
    contributingDeveloperId: string;
    contributingDeveloperSource: ContributingDeveloperSource;
    contributingDeveloperSourceName: string;
    onFailure: OnFailure;
    operatingEnvironment: string;
    projectName: string;
    exportFormat: AttributionFormatEnum;
    exportFileType: AttributionFileTypeEnum;
}
declare class AnalysisArgumentParser extends ArgumentParserBase {
    constructor(integrationName: IntegrationName, integrationType: IntegrationType, scanType: ScanType, scriptVersion: string);
    static create(integrationName: IntegrationName, integrationType: IntegrationType, scanType: ScanType, scriptVersion: string): AnalysisArgumentParser;
    addBaseScanArguments(): void;
    validateExportArguments(scanType: ScanType | undefined, format: AttributionFormatEnum, fileType: AttributionFileTypeEnum): string | null;
    protected ensureValidExportArguments<T extends ParsedOptions>(args: T): void;
    parseArguments<T extends ParsedOptions>(argv?: string[]): {
        [k: string]: string;
    } & T;
}
export default AnalysisArgumentParser;
export { IBaseScanArguments, ICommonArguments };
