/**
 * Platform
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { BlockUsers, DeleteCustomerRequest, LiteLlmEndUserTable, NewCustomerRequest, UpdateCustomerRequest } from '../models/index';
import * as runtime from '../runtime';
export interface LitellmCustomerManagementApiBlockUserCustomerBlockPostRequest {
    blockUsers?: BlockUsers;
}
export interface LitellmCustomerManagementApiDeleteEndUserCustomerDeletePostRequest {
    deleteCustomerRequest?: DeleteCustomerRequest;
}
export interface LitellmCustomerManagementApiEndUserInfoCustomerInfoGetRequest {
    endUserId: string;
}
export interface LitellmCustomerManagementApiNewEndUserCustomerNewPostRequest {
    newCustomerRequest?: NewCustomerRequest;
}
export interface LitellmCustomerManagementApiUnblockUserCustomerUnblockPostRequest {
    blockUsers?: BlockUsers;
}
export interface LitellmCustomerManagementApiUpdateEndUserCustomerUpdatePostRequest {
    updateCustomerRequest?: UpdateCustomerRequest;
}
/**
 *
 */
export declare class LitellmCustomerManagementApi extends runtime.BaseAPI {
    /**
     * [BETA] Reject calls with this end-user id  Parameters: - user_ids (List[str], required): The unique `user_id`s for the users to block      (any /chat/completion call with this user={end-user-id} param, will be rejected.)      ```     curl -X POST \"http://0.0.0.0:8000/user/block\"     -H \"Authorization: Bearer sk-1234\"     -d \'{     \"user_ids\": [<user_id>, ...]     }\'     ```
     * Block User
     */
    blockUserCustomerBlockPostRaw(requestParameters: LitellmCustomerManagementApiBlockUserCustomerBlockPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>>;
    /**
     * [BETA] Reject calls with this end-user id  Parameters: - user_ids (List[str], required): The unique `user_id`s for the users to block      (any /chat/completion call with this user={end-user-id} param, will be rejected.)      ```     curl -X POST \"http://0.0.0.0:8000/user/block\"     -H \"Authorization: Bearer sk-1234\"     -d \'{     \"user_ids\": [<user_id>, ...]     }\'     ```
     * Block User
     */
    blockUserCustomerBlockPost(requestParameters?: LitellmCustomerManagementApiBlockUserCustomerBlockPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string>;
    /**
     * Delete multiple end-users.  Parameters: - user_ids (List[str], required): The unique `user_id`s for the users to delete  Example curl: ``` curl --location \'http://0.0.0.0:4000/customer/delete\'         --header \'Authorization: Bearer sk-1234\'         --header \'Content-Type: application/json\'         --data \'{         \"user_ids\" :[\"ishaan-jaff-5\"] }\'  See below for all params  ```
     * Delete End User
     */
    deleteEndUserCustomerDeletePostRaw(requestParameters: LitellmCustomerManagementApiDeleteEndUserCustomerDeletePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>>;
    /**
     * Delete multiple end-users.  Parameters: - user_ids (List[str], required): The unique `user_id`s for the users to delete  Example curl: ``` curl --location \'http://0.0.0.0:4000/customer/delete\'         --header \'Authorization: Bearer sk-1234\'         --header \'Content-Type: application/json\'         --data \'{         \"user_ids\" :[\"ishaan-jaff-5\"] }\'  See below for all params  ```
     * Delete End User
     */
    deleteEndUserCustomerDeletePost(requestParameters?: LitellmCustomerManagementApiDeleteEndUserCustomerDeletePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string>;
    /**
     * Get information about an end-user. An `end_user` is a customer (external user) of the proxy.  Parameters: - end_user_id (str, required): The unique identifier for the end-user  Example curl: ``` curl -X GET \'http://localhost:4000/customer/info?end_user_id=test-litellm-user-4\'         -H \'Authorization: Bearer sk-1234\' ```
     * End User Info
     */
    endUserInfoCustomerInfoGetRaw(requestParameters: LitellmCustomerManagementApiEndUserInfoCustomerInfoGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LiteLlmEndUserTable>>;
    /**
     * Get information about an end-user. An `end_user` is a customer (external user) of the proxy.  Parameters: - end_user_id (str, required): The unique identifier for the end-user  Example curl: ``` curl -X GET \'http://localhost:4000/customer/info?end_user_id=test-litellm-user-4\'         -H \'Authorization: Bearer sk-1234\' ```
     * End User Info
     */
    endUserInfoCustomerInfoGet(requestParameters: LitellmCustomerManagementApiEndUserInfoCustomerInfoGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LiteLlmEndUserTable>;
    /**
     * [Admin-only] List all available customers  Example curl: ``` curl --location --request GET \'http://0.0.0.0:4000/customer/list\'         --header \'Authorization: Bearer sk-1234\' ```
     * List End User
     */
    listEndUserCustomerListGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<LiteLlmEndUserTable>>>;
    /**
     * [Admin-only] List all available customers  Example curl: ``` curl --location --request GET \'http://0.0.0.0:4000/customer/list\'         --header \'Authorization: Bearer sk-1234\' ```
     * List End User
     */
    listEndUserCustomerListGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<LiteLlmEndUserTable>>;
    /**
     * Allow creating a new Customer    Parameters: - user_id: str - The unique identifier for the user. - alias: Optional[str] - A human-friendly alias for the user. - blocked: bool - Flag to allow or disallow requests for this end-user. Default is False. - max_budget: Optional[float] - The maximum budget allocated to the user. Either \'max_budget\' or \'budget_id\' should be provided, not both. - budget_id: Optional[str] - The identifier for an existing budget allocated to the user. Either \'max_budget\' or \'budget_id\' should be provided, not both. - allowed_model_region: Optional[Union[Literal[\"eu\"], Literal[\"us\"]]] - Require all user requests to use models in this specific region. - default_model: Optional[str] - If no equivalent model in the allowed region, default all requests to this model. - metadata: Optional[dict] = Metadata for customer, store information for customer. Example metadata = {\"data_training_opt_out\": True} - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\"). - tpm_limit: Optional[int] - [Not Implemented Yet] Specify tpm limit for a given customer (Tokens per minute) - rpm_limit: Optional[int] - [Not Implemented Yet] Specify rpm limit for a given customer (Requests per minute) - model_max_budget: Optional[dict] - [Not Implemented Yet] Specify max budget for a given model. Example: {\"openai/gpt-4o-mini\": {\"max_budget\": 100.0, \"budget_duration\": \"1d\"}} - max_parallel_requests: Optional[int] - [Not Implemented Yet] Specify max parallel requests for a given customer. - soft_budget: Optional[float] - [Not Implemented Yet] Get alerts when customer crosses given budget, doesn\'t block requests.   - Allow specifying allowed regions  - Allow specifying default model  Example curl: ``` curl --location \'http://0.0.0.0:4000/customer/new\'         --header \'Authorization: Bearer sk-1234\'         --header \'Content-Type: application/json\'         --data \'{         \"user_id\" : \"ishaan-jaff-3\",         \"allowed_region\": \"eu\",         \"budget_id\": \"free_tier\",         \"default_model\": \"azure/gpt-3.5-turbo-eu\" <- all calls from this user, use this model?      }\'      # return end-user object ```  NOTE: This used to be called `/end_user/new`, we will still be maintaining compatibility for /end_user/XXX for these endpoints
     * New End User
     */
    newEndUserCustomerNewPostRaw(requestParameters: LitellmCustomerManagementApiNewEndUserCustomerNewPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>>;
    /**
     * Allow creating a new Customer    Parameters: - user_id: str - The unique identifier for the user. - alias: Optional[str] - A human-friendly alias for the user. - blocked: bool - Flag to allow or disallow requests for this end-user. Default is False. - max_budget: Optional[float] - The maximum budget allocated to the user. Either \'max_budget\' or \'budget_id\' should be provided, not both. - budget_id: Optional[str] - The identifier for an existing budget allocated to the user. Either \'max_budget\' or \'budget_id\' should be provided, not both. - allowed_model_region: Optional[Union[Literal[\"eu\"], Literal[\"us\"]]] - Require all user requests to use models in this specific region. - default_model: Optional[str] - If no equivalent model in the allowed region, default all requests to this model. - metadata: Optional[dict] = Metadata for customer, store information for customer. Example metadata = {\"data_training_opt_out\": True} - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\"). - tpm_limit: Optional[int] - [Not Implemented Yet] Specify tpm limit for a given customer (Tokens per minute) - rpm_limit: Optional[int] - [Not Implemented Yet] Specify rpm limit for a given customer (Requests per minute) - model_max_budget: Optional[dict] - [Not Implemented Yet] Specify max budget for a given model. Example: {\"openai/gpt-4o-mini\": {\"max_budget\": 100.0, \"budget_duration\": \"1d\"}} - max_parallel_requests: Optional[int] - [Not Implemented Yet] Specify max parallel requests for a given customer. - soft_budget: Optional[float] - [Not Implemented Yet] Get alerts when customer crosses given budget, doesn\'t block requests.   - Allow specifying allowed regions  - Allow specifying default model  Example curl: ``` curl --location \'http://0.0.0.0:4000/customer/new\'         --header \'Authorization: Bearer sk-1234\'         --header \'Content-Type: application/json\'         --data \'{         \"user_id\" : \"ishaan-jaff-3\",         \"allowed_region\": \"eu\",         \"budget_id\": \"free_tier\",         \"default_model\": \"azure/gpt-3.5-turbo-eu\" <- all calls from this user, use this model?      }\'      # return end-user object ```  NOTE: This used to be called `/end_user/new`, we will still be maintaining compatibility for /end_user/XXX for these endpoints
     * New End User
     */
    newEndUserCustomerNewPost(requestParameters?: LitellmCustomerManagementApiNewEndUserCustomerNewPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string>;
    /**
     * [BETA] Unblock calls with this user id  Example ``` curl -X POST \"http://0.0.0.0:8000/user/unblock\" -H \"Authorization: Bearer sk-1234\" -d \'{ \"user_ids\": [<user_id>, ...] }\' ```
     * Unblock User
     */
    unblockUserCustomerUnblockPostRaw(requestParameters: LitellmCustomerManagementApiUnblockUserCustomerUnblockPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>>;
    /**
     * [BETA] Unblock calls with this user id  Example ``` curl -X POST \"http://0.0.0.0:8000/user/unblock\" -H \"Authorization: Bearer sk-1234\" -d \'{ \"user_ids\": [<user_id>, ...] }\' ```
     * Unblock User
     */
    unblockUserCustomerUnblockPost(requestParameters?: LitellmCustomerManagementApiUnblockUserCustomerUnblockPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string>;
    /**
     * Example curl   Parameters: - user_id: str - alias: Optional[str] = None  # human-friendly alias - blocked: bool = False  # allow/disallow requests for this end-user - max_budget: Optional[float] = None - budget_id: Optional[str] = None  # give either a budget_id or max_budget - allowed_model_region: Optional[AllowedModelRegion] = (     None  # require all user requests to use models in this specific region ) - default_model: Optional[str] = (     None  # if no equivalent model in allowed region - default all requests to this model )  Example curl: ``` curl --location \'http://0.0.0.0:4000/customer/update\'     --header \'Authorization: Bearer sk-1234\'     --header \'Content-Type: application/json\'     --data \'{     \"user_id\": \"test-litellm-user-4\",     \"budget_id\": \"paid_tier\" }\'  See below for all params  ```
     * Update End User
     */
    updateEndUserCustomerUpdatePostRaw(requestParameters: LitellmCustomerManagementApiUpdateEndUserCustomerUpdatePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>>;
    /**
     * Example curl   Parameters: - user_id: str - alias: Optional[str] = None  # human-friendly alias - blocked: bool = False  # allow/disallow requests for this end-user - max_budget: Optional[float] = None - budget_id: Optional[str] = None  # give either a budget_id or max_budget - allowed_model_region: Optional[AllowedModelRegion] = (     None  # require all user requests to use models in this specific region ) - default_model: Optional[str] = (     None  # if no equivalent model in allowed region - default all requests to this model )  Example curl: ``` curl --location \'http://0.0.0.0:4000/customer/update\'     --header \'Authorization: Bearer sk-1234\'     --header \'Content-Type: application/json\'     --data \'{     \"user_id\": \"test-litellm-user-4\",     \"budget_id\": \"paid_tier\" }\'  See below for all params  ```
     * Update End User
     */
    updateEndUserCustomerUpdatePost(requestParameters?: LitellmCustomerManagementApiUpdateEndUserCustomerUpdatePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string>;
}
