import type { PaginationParams } from './common.js'; import type { SonarQubeClient as WebApiClient } from 'sonarqube-web-api-client'; import type { SonarQubeProjectsResult } from './projects.js'; import type { IssuesParams, SonarQubeIssuesResult, SonarQubeIssue, MarkIssueFalsePositiveParams, MarkIssueWontFixParams, BulkIssueMarkParams, AddCommentToIssueParams, AssignIssueParams, ConfirmIssueParams, UnconfirmIssueParams, ResolveIssueParams, ReopenIssueParams, SonarQubeIssueComment, DoTransitionResponse } from './issues.js'; import type { SonarQubeMetricsResult } from './metrics.js'; import type { ComponentMeasuresParams, ComponentsMeasuresParams, MeasuresHistoryParams, SonarQubeComponentMeasuresResult, SonarQubeComponentsMeasuresResult, SonarQubeMeasuresHistoryResult } from './measures.js'; import type { SonarQubeHealthStatus, SonarQubeSystemStatus } from './system.js'; import type { SonarQubeQualityGate, SonarQubeQualityGatesResult, SonarQubeQualityGateStatus, ProjectQualityGateParams } from './quality-gates.js'; import type { SourceCodeParams, ScmBlameParams, SonarQubeSourceResult, SonarQubeScmBlameResult } from './source-code.js'; import type { HotspotSearchParams, SonarQubeHotspotSearchResult, SonarQubeHotspotDetails, HotspotStatusUpdateParams } from './hotspots.js'; export type { PaginationParams, SeverityLevel } from './common.js'; export type { SonarQubeProject, SonarQubeProjectsResult } from './projects.js'; export type { SonarQubeIssue, SonarQubeIssueComment, SonarQubeIssueFlow, SonarQubeIssueImpact, SonarQubeIssueLocation, SonarQubeMessageFormatting, SonarQubeTextRange, SonarQubeComponent, SonarQubeRule, SonarQubeUser, SonarQubeFacet, SonarQubeFacetValue, SonarQubeIssuesResult, IssuesParams, MarkIssueFalsePositiveParams, MarkIssueWontFixParams, BulkIssueMarkParams, AddCommentToIssueParams, AssignIssueParams, ConfirmIssueParams, UnconfirmIssueParams, ResolveIssueParams, ReopenIssueParams, DoTransitionRequest, DoTransitionResponse, } from './issues.js'; export type { SonarQubeMetric, SonarQubeMetricsResult } from './metrics.js'; export type { ComponentMeasuresParams, ComponentsMeasuresParams, MeasuresHistoryParams, SonarQubeMeasure, SonarQubeMeasureComponent, SonarQubeComponentMeasuresResult, SonarQubeComponentsMeasuresResult, SonarQubeMeasuresHistoryResult, } from './measures.js'; export type { SonarQubeHealthStatus, SonarQubeSystemStatus } from './system.js'; export type { SonarQubeQualityGateCondition, SonarQubeQualityGate, SonarQubeQualityGatesResult, SonarQubeQualityGateStatus, ProjectQualityGateParams, } from './quality-gates.js'; export type { SourceCodeParams, ScmBlameParams, SonarQubeLineIssue, SonarQubeScmAuthor, SonarQubeSourceLine, SonarQubeSourceResult, SonarQubeScmBlameResult, } from './source-code.js'; export type { HotspotSearchParams, SonarQubeHotspot, SonarQubeHotspotSearchResult, SonarQubeHotspotDetails, HotspotStatusUpdateParams, } from './hotspots.js'; export type { ComponentQualifier, ComponentsResult, ComponentsTreeResult, ComponentShowResult, ComponentsParams, ComponentsSearchParams, ComponentsTreeParams, ComponentShowParams, } from './components.js'; export interface ISonarQubeClient { readonly webApiClient: WebApiClient; listProjects(params?: PaginationParams): Promise; getIssues(params: IssuesParams): Promise; getMetrics(params?: PaginationParams): Promise; getHealth(): Promise; getStatus(): Promise; ping(): Promise; getComponentMeasures(params: ComponentMeasuresParams): Promise; getComponentsMeasures(params: ComponentsMeasuresParams): Promise; getMeasuresHistory(params: MeasuresHistoryParams): Promise; listQualityGates(): Promise; getQualityGate(id: string): Promise; getProjectQualityGateStatus(params: ProjectQualityGateParams): Promise; getSourceCode(params: SourceCodeParams): Promise; getScmBlame(params: ScmBlameParams): Promise; hotspots(params: HotspotSearchParams): Promise; hotspot(hotspotKey: string): Promise; updateHotspotStatus(params: HotspotStatusUpdateParams): Promise; markIssueFalsePositive(params: MarkIssueFalsePositiveParams): Promise; markIssueWontFix(params: MarkIssueWontFixParams): Promise; markIssuesFalsePositive(params: BulkIssueMarkParams): Promise; markIssuesWontFix(params: BulkIssueMarkParams): Promise; addCommentToIssue(params: AddCommentToIssueParams): Promise; assignIssue(params: AssignIssueParams): Promise; confirmIssue(params: ConfirmIssueParams): Promise; unconfirmIssue(params: UnconfirmIssueParams): Promise; resolveIssue(params: ResolveIssueParams): Promise; reopenIssue(params: ReopenIssueParams): Promise; }