import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { MetaUser } from '../models';
import type { PaginatedMetaUserList } from '../models';
import type { PatchedUserRequest } from '../models';
export declare const UsersApiAxiosParamCreator: (configuration?: Configuration) => {
    usersDestroy: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    usersList: (xOrganization?: string, filter?: string, firstName?: string, isActive?: boolean, lastName?: string, org?: string, orgId?: number, page?: number, pageSize?: number, search?: string, sort?: string, username?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    usersPartialUpdate: (id: number, patchedUserRequest?: PatchedUserRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    usersRetrieve: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    usersRetrieveSelf: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
export declare const UsersApiFp: (configuration?: Configuration) => {
    usersDestroy(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    usersList(xOrganization?: string, filter?: string, firstName?: string, isActive?: boolean, lastName?: string, org?: string, orgId?: number, page?: number, pageSize?: number, search?: string, sort?: string, username?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaginatedMetaUserList>>;
    usersPartialUpdate(id: number, patchedUserRequest?: PatchedUserRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MetaUser>>;
    usersRetrieve(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MetaUser>>;
    usersRetrieveSelf(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MetaUser>>;
};
export declare const UsersApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    usersDestroy(requestParameters: UsersApiUsersDestroyRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    usersList(requestParameters?: UsersApiUsersListRequest, options?: RawAxiosRequestConfig): AxiosPromise<PaginatedMetaUserList>;
    usersPartialUpdate(requestParameters: UsersApiUsersPartialUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise<MetaUser>;
    usersRetrieve(requestParameters: UsersApiUsersRetrieveRequest, options?: RawAxiosRequestConfig): AxiosPromise<MetaUser>;
    usersRetrieveSelf(options?: RawAxiosRequestConfig): AxiosPromise<MetaUser>;
};
export interface UsersApiUsersDestroyRequest {
    readonly id: number;
}
export interface UsersApiUsersListRequest {
    readonly xOrganization?: string;
    readonly filter?: string;
    readonly firstName?: string;
    readonly isActive?: boolean;
    readonly lastName?: string;
    readonly org?: string;
    readonly orgId?: number;
    readonly page?: number;
    readonly pageSize?: number;
    readonly search?: string;
    readonly sort?: string;
    readonly username?: string;
}
export interface UsersApiUsersPartialUpdateRequest {
    readonly id: number;
    readonly patchedUserRequest?: PatchedUserRequest;
}
export interface UsersApiUsersRetrieveRequest {
    readonly id: number;
}
export declare class UsersApi extends BaseAPI {
    usersDestroy(requestParameters: UsersApiUsersDestroyRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    usersList(requestParameters?: UsersApiUsersListRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PaginatedMetaUserList, any>>;
    usersPartialUpdate(requestParameters: UsersApiUsersPartialUpdateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<MetaUser, any>>;
    usersRetrieve(requestParameters: UsersApiUsersRetrieveRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<MetaUser, any>>;
    usersRetrieveSelf(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<MetaUser, any>>;
}
