import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { IssueRead } from '../models';
import type { IssueWriteRequest } from '../models';
import type { PaginatedIssueReadList } from '../models';
import type { PatchedIssueWriteRequest } from '../models';
export declare const IssuesApiAxiosParamCreator: (configuration?: Configuration) => {
    issuesCreate: (issueWriteRequest: IssueWriteRequest, xOrganization?: string, org?: string, orgId?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    issuesDestroy: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    issuesList: (xOrganization?: string, assignee?: string, filter?: string, frameId?: number, jobId?: number, org?: string, orgId?: number, owner?: string, page?: number, pageSize?: number, resolved?: boolean, search?: string, sort?: string, taskId?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    issuesPartialUpdate: (id: number, patchedIssueWriteRequest?: PatchedIssueWriteRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    issuesRetrieve: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
export declare const IssuesApiFp: (configuration?: Configuration) => {
    issuesCreate(issueWriteRequest: IssueWriteRequest, xOrganization?: string, org?: string, orgId?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<IssueRead>>;
    issuesDestroy(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    issuesList(xOrganization?: string, assignee?: string, filter?: string, frameId?: number, jobId?: number, org?: string, orgId?: number, owner?: string, page?: number, pageSize?: number, resolved?: boolean, search?: string, sort?: string, taskId?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaginatedIssueReadList>>;
    issuesPartialUpdate(id: number, patchedIssueWriteRequest?: PatchedIssueWriteRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<IssueRead>>;
    issuesRetrieve(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<IssueRead>>;
};
export declare const IssuesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    issuesCreate(requestParameters: IssuesApiIssuesCreateRequest, options?: RawAxiosRequestConfig): AxiosPromise<IssueRead>;
    issuesDestroy(requestParameters: IssuesApiIssuesDestroyRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    issuesList(requestParameters?: IssuesApiIssuesListRequest, options?: RawAxiosRequestConfig): AxiosPromise<PaginatedIssueReadList>;
    issuesPartialUpdate(requestParameters: IssuesApiIssuesPartialUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise<IssueRead>;
    issuesRetrieve(requestParameters: IssuesApiIssuesRetrieveRequest, options?: RawAxiosRequestConfig): AxiosPromise<IssueRead>;
};
export interface IssuesApiIssuesCreateRequest {
    readonly issueWriteRequest: IssueWriteRequest;
    readonly xOrganization?: string;
    readonly org?: string;
    readonly orgId?: number;
}
export interface IssuesApiIssuesDestroyRequest {
    readonly id: number;
}
export interface IssuesApiIssuesListRequest {
    readonly xOrganization?: string;
    readonly assignee?: string;
    readonly filter?: string;
    readonly frameId?: number;
    readonly jobId?: number;
    readonly org?: string;
    readonly orgId?: number;
    readonly owner?: string;
    readonly page?: number;
    readonly pageSize?: number;
    readonly resolved?: boolean;
    readonly search?: string;
    readonly sort?: string;
    readonly taskId?: number;
}
export interface IssuesApiIssuesPartialUpdateRequest {
    readonly id: number;
    readonly patchedIssueWriteRequest?: PatchedIssueWriteRequest;
}
export interface IssuesApiIssuesRetrieveRequest {
    readonly id: number;
}
export declare class IssuesApi extends BaseAPI {
    issuesCreate(requestParameters: IssuesApiIssuesCreateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<IssueRead, any>>;
    issuesDestroy(requestParameters: IssuesApiIssuesDestroyRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    issuesList(requestParameters?: IssuesApiIssuesListRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PaginatedIssueReadList, any>>;
    issuesPartialUpdate(requestParameters: IssuesApiIssuesPartialUpdateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<IssueRead, any>>;
    issuesRetrieve(requestParameters: IssuesApiIssuesRetrieveRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<IssueRead, any>>;
}
