import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { CommentRead } from '../models';
import type { CommentWriteRequest } from '../models';
import type { PaginatedCommentReadList } from '../models';
import type { PatchedCommentWriteRequest } from '../models';
export declare const CommentsApiAxiosParamCreator: (configuration?: Configuration) => {
    commentsCreate: (commentWriteRequest: CommentWriteRequest, xOrganization?: string, org?: string, orgId?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    commentsDestroy: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    commentsList: (xOrganization?: string, filter?: string, frameId?: number, issueId?: number, jobId?: number, org?: string, orgId?: number, owner?: string, page?: number, pageSize?: number, search?: string, sort?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    commentsPartialUpdate: (id: number, patchedCommentWriteRequest?: PatchedCommentWriteRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    commentsRetrieve: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
export declare const CommentsApiFp: (configuration?: Configuration) => {
    commentsCreate(commentWriteRequest: CommentWriteRequest, xOrganization?: string, org?: string, orgId?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommentRead>>;
    commentsDestroy(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    commentsList(xOrganization?: string, filter?: string, frameId?: number, issueId?: number, jobId?: number, org?: string, orgId?: number, owner?: string, page?: number, pageSize?: number, search?: string, sort?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaginatedCommentReadList>>;
    commentsPartialUpdate(id: number, patchedCommentWriteRequest?: PatchedCommentWriteRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommentRead>>;
    commentsRetrieve(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CommentRead>>;
};
export declare const CommentsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    commentsCreate(requestParameters: CommentsApiCommentsCreateRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommentRead>;
    commentsDestroy(requestParameters: CommentsApiCommentsDestroyRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    commentsList(requestParameters?: CommentsApiCommentsListRequest, options?: RawAxiosRequestConfig): AxiosPromise<PaginatedCommentReadList>;
    commentsPartialUpdate(requestParameters: CommentsApiCommentsPartialUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommentRead>;
    commentsRetrieve(requestParameters: CommentsApiCommentsRetrieveRequest, options?: RawAxiosRequestConfig): AxiosPromise<CommentRead>;
};
export interface CommentsApiCommentsCreateRequest {
    readonly commentWriteRequest: CommentWriteRequest;
    readonly xOrganization?: string;
    readonly org?: string;
    readonly orgId?: number;
}
export interface CommentsApiCommentsDestroyRequest {
    readonly id: number;
}
export interface CommentsApiCommentsListRequest {
    readonly xOrganization?: string;
    readonly filter?: string;
    readonly frameId?: number;
    readonly issueId?: number;
    readonly jobId?: number;
    readonly org?: string;
    readonly orgId?: number;
    readonly owner?: string;
    readonly page?: number;
    readonly pageSize?: number;
    readonly search?: string;
    readonly sort?: string;
}
export interface CommentsApiCommentsPartialUpdateRequest {
    readonly id: number;
    readonly patchedCommentWriteRequest?: PatchedCommentWriteRequest;
}
export interface CommentsApiCommentsRetrieveRequest {
    readonly id: number;
}
export declare class CommentsApi extends BaseAPI {
    commentsCreate(requestParameters: CommentsApiCommentsCreateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CommentRead, any>>;
    commentsDestroy(requestParameters: CommentsApiCommentsDestroyRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    commentsList(requestParameters?: CommentsApiCommentsListRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PaginatedCommentReadList, any>>;
    commentsPartialUpdate(requestParameters: CommentsApiCommentsPartialUpdateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CommentRead, any>>;
    commentsRetrieve(requestParameters: CommentsApiCommentsRetrieveRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CommentRead, any>>;
}
