import { ReportType } from '../deepsource.js';
import { BaseHandlerDeps } from './base/handler.interface.js';
import { Logger } from '../utils/logging/logger.js';
import { IComplianceReportRepository } from '../domain/aggregates/compliance-report/compliance-report.repository.js';
/**
 * Interface for parameters for getting a compliance report
 * @public
 */
export interface DeepsourceComplianceReportParams {
    /** DeepSource project key to identify the project */
    projectKey: string;
    /** Type of compliance report to fetch */
    reportType: ReportType;
}
/**
 * Extended dependencies interface for compliance report handler
 */
interface ComplianceReportHandlerDeps {
    complianceReportRepository: IComplianceReportRepository;
    logger: Logger;
}
/**
 * Creates a compliance report handler with injected dependencies
 * @param deps - The dependencies for the handler
 * @returns The configured handler function
 */
export declare function createComplianceReportHandlerWithRepo(deps: ComplianceReportHandlerDeps): (params: DeepsourceComplianceReportParams) => Promise<{
    content: {
        type: "text";
        text: string;
    }[];
    isError?: never;
} | {
    isError: boolean;
    content: {
        type: "text";
        text: string;
    }[];
}>;
/**
 * Creates a compliance report handler with injected dependencies
 * @param deps - The dependencies for the handler
 * @returns The configured handler factory
 */
export declare const createComplianceReportHandler: import("./base/handler.interface.js").HandlerFactory<BaseHandlerDeps, DeepsourceComplianceReportParams, import("../models/common.js").ApiResponse>;
/**
 * Fetches and returns compliance reports from a DeepSource project using domain aggregates
 * @param params - Parameters for fetching the compliance report, including project key and report type
 * @returns Response containing the compliance report with security issues statistics
 * @throws Error if the DEEPSOURCE_API_KEY environment variable is not set or if the report type is unsupported or if API call fails
 * @public
 */
export declare function handleDeepsourceComplianceReport(params: DeepsourceComplianceReportParams): Promise<{
    content: {
        type: "text";
        text: string;
    }[];
    isError?: never;
} | {
    isError: boolean;
    content: {
        type: "text";
        text: string;
    }[];
}>;
export {};
