import { AttributionFileTypeEnum, AttributionFormatEnum, AttributionStatusEnum } from "../enums";
interface IPostScanAttributionRequest {
    clientId: string;
    projectHash: string;
    branchHash: string;
    scanId: string;
    format: AttributionFormatEnum;
    fileType: AttributionFileTypeEnum;
    includeDependentProjects?: boolean;
    includeVulnerabilities?: boolean;
    includeOriginalSbom?: boolean;
}
interface IAttributionStatusModel {
    id: string;
    filename: string | null;
    status: AttributionStatusEnum;
    statusDescription: string | null;
    statusLastUpdated: string;
    message: string | null;
    requestedBy: string | null;
    requestedAt: string;
}
interface IGetAnalysisAttributionStatusRequest {
    clientId: string;
    projectHash: string;
    branchHash: string;
    scanId: string;
    attributionId: string;
}
interface IGetAnalysisAttributionRequest {
    clientId: string;
    projectHash: string;
    branchHash: string;
    scanId: string;
    attributionId: string;
}
declare class SOOSAttributionApiClient {
    private readonly baseUri;
    private readonly apiKey;
    private readonly client;
    private createApiClient;
    constructor(apiKey: string, baseUri?: string);
    createAttributionRequest({ clientId, projectHash, branchHash, scanId, format, fileType, includeDependentProjects, includeVulnerabilities, includeOriginalSbom, }: IPostScanAttributionRequest): Promise<IAttributionStatusModel>;
    getAttributionStatus({ clientId, projectHash, branchHash, scanId, attributionId, }: IGetAnalysisAttributionStatusRequest): Promise<IAttributionStatusModel>;
    getScanAttribution({ clientId, projectHash, branchHash, scanId, attributionId, }: IGetAnalysisAttributionRequest): Promise<Blob>;
}
export { IAttributionStatusModel, IPostScanAttributionRequest, IGetAnalysisAttributionStatusRequest, };
export default SOOSAttributionApiClient;
