/**
 * Commander Spellbook API
 * API for Commander Spellbook, the combo database engine for Magic: The Gathering
 *
 * The version of the OpenAPI document: 5.4.10
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import * as runtime from '../runtime.js';
import { type PaginatedUserDetailList } from '../models/PaginatedUserDetailList.js';
import { type PatchedUserDetailRequest } from '../models/PatchedUserDetailRequest.js';
import { type UserDetail } from '../models/UserDetail.js';
import { type UserDetailRequest } from '../models/UserDetailRequest.js';
export interface UsersDestroyRequest {
    id: number;
}
export interface UsersListRequest {
    count?: boolean;
    limit?: number;
    offset?: number;
}
export interface UsersPartialUpdateRequest {
    id: number;
    patchedUserDetailRequest?: PatchedUserDetailRequest;
}
export interface UsersRetrieveRequest {
    id: number;
}
export interface UsersUpdateRequest {
    id: number;
    userDetailRequest: UserDetailRequest;
}
/**
 *
 */
export declare class UsersApi extends runtime.BaseAPI {
    /**
     * Creates request options for usersDestroy without sending the request
     */
    usersDestroyRequestOpts(requestParameters: UsersDestroyRequest): Promise<runtime.RequestOpts>;
    /**
     */
    usersDestroyRaw(requestParameters: UsersDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     */
    usersDestroy(requestParameters: UsersDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Creates request options for usersList without sending the request
     */
    usersListRequestOpts(requestParameters: UsersListRequest): Promise<runtime.RequestOpts>;
    /**
     */
    usersListRaw(requestParameters: UsersListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedUserDetailList>>;
    /**
     */
    usersList(requestParameters?: UsersListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedUserDetailList>;
    /**
     * Creates request options for usersPartialUpdate without sending the request
     */
    usersPartialUpdateRequestOpts(requestParameters: UsersPartialUpdateRequest): Promise<runtime.RequestOpts>;
    /**
     */
    usersPartialUpdateRaw(requestParameters: UsersPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UserDetail>>;
    /**
     */
    usersPartialUpdate(requestParameters: UsersPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UserDetail>;
    /**
     * Creates request options for usersRetrieve without sending the request
     */
    usersRetrieveRequestOpts(requestParameters: UsersRetrieveRequest): Promise<runtime.RequestOpts>;
    /**
     */
    usersRetrieveRaw(requestParameters: UsersRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UserDetail>>;
    /**
     */
    usersRetrieve(requestParameters: UsersRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UserDetail>;
    /**
     * Creates request options for usersUpdate without sending the request
     */
    usersUpdateRequestOpts(requestParameters: UsersUpdateRequest): Promise<runtime.RequestOpts>;
    /**
     */
    usersUpdateRaw(requestParameters: UsersUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UserDetail>>;
    /**
     */
    usersUpdate(requestParameters: UsersUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UserDetail>;
}
