/**
 * 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 { DeleteOrganizationRequest, LiteLlmOrganizationMembershipTable, LiteLlmOrganizationTableUpdate, LiteLlmOrganizationTableWithMembers, NewOrganizationRequest, NewOrganizationResponse, OrganizationAddMemberResponse, OrganizationMemberAddRequest, OrganizationMemberDeleteRequest, OrganizationMemberUpdateRequest, OrganizationRequest } from '../models/index';
import * as runtime from '../runtime';
export interface LitellmOrganizationManagementApiDeleteOrganizationOrganizationDeleteDeleteRequest {
    deleteOrganizationRequest?: DeleteOrganizationRequest;
}
export interface LitellmOrganizationManagementApiDeprecatedInfoOrganizationOrganizationInfoPostRequest {
    organizationRequest?: OrganizationRequest;
}
export interface LitellmOrganizationManagementApiInfoOrganizationOrganizationInfoGetRequest {
    organizationId: string;
}
export interface LitellmOrganizationManagementApiNewOrganizationOrganizationNewPostRequest {
    newOrganizationRequest?: NewOrganizationRequest;
}
export interface LitellmOrganizationManagementApiOrganizationMemberAddOrganizationMemberAddPostRequest {
    organizationMemberAddRequest?: OrganizationMemberAddRequest;
}
export interface LitellmOrganizationManagementApiOrganizationMemberDeleteOrganizationMemberDeleteDeleteRequest {
    organizationMemberDeleteRequest?: OrganizationMemberDeleteRequest;
}
export interface LitellmOrganizationManagementApiOrganizationMemberUpdateOrganizationMemberUpdatePatchRequest {
    organizationMemberUpdateRequest?: OrganizationMemberUpdateRequest;
}
export interface LitellmOrganizationManagementApiUpdateOrganizationOrganizationUpdatePatchRequest {
    liteLlmOrganizationTableUpdate?: LiteLlmOrganizationTableUpdate;
}
/**
 *
 */
export declare class LitellmOrganizationManagementApi extends runtime.BaseAPI {
    /**
     * Delete an organization  # Parameters:  - organization_ids: List[str] - The organization ids to delete.
     * Delete Organization
     */
    deleteOrganizationOrganizationDeleteDeleteRaw(requestParameters: LitellmOrganizationManagementApiDeleteOrganizationOrganizationDeleteDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<LiteLlmOrganizationTableWithMembers>>>;
    /**
     * Delete an organization  # Parameters:  - organization_ids: List[str] - The organization ids to delete.
     * Delete Organization
     */
    deleteOrganizationOrganizationDeleteDelete(requestParameters?: LitellmOrganizationManagementApiDeleteOrganizationOrganizationDeleteDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<LiteLlmOrganizationTableWithMembers>>;
    /**
     * DEPRECATED: Use GET /organization/info instead
     * Deprecated Info Organization
     */
    deprecatedInfoOrganizationOrganizationInfoPostRaw(requestParameters: LitellmOrganizationManagementApiDeprecatedInfoOrganizationOrganizationInfoPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>>;
    /**
     * DEPRECATED: Use GET /organization/info instead
     * Deprecated Info Organization
     */
    deprecatedInfoOrganizationOrganizationInfoPost(requestParameters?: LitellmOrganizationManagementApiDeprecatedInfoOrganizationOrganizationInfoPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string>;
    /**
     * Get the org specific information
     * Info Organization
     */
    infoOrganizationOrganizationInfoGetRaw(requestParameters: LitellmOrganizationManagementApiInfoOrganizationOrganizationInfoGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LiteLlmOrganizationTableWithMembers>>;
    /**
     * Get the org specific information
     * Info Organization
     */
    infoOrganizationOrganizationInfoGet(requestParameters: LitellmOrganizationManagementApiInfoOrganizationOrganizationInfoGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LiteLlmOrganizationTableWithMembers>;
    /**
     * ``` curl --location --request GET \'http://0.0.0.0:4000/organization/list\'         --header \'Authorization: Bearer sk-1234\' ```
     * List Organization
     */
    listOrganizationOrganizationListGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<LiteLlmOrganizationTableWithMembers>>>;
    /**
     * ``` curl --location --request GET \'http://0.0.0.0:4000/organization/list\'         --header \'Authorization: Bearer sk-1234\' ```
     * List Organization
     */
    listOrganizationOrganizationListGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<LiteLlmOrganizationTableWithMembers>>;
    /**
     * Allow orgs to own teams  Set org level budgets + model access.  Only admins can create orgs.  # Parameters  - organization_alias: *str* - The name of the organization. - models: *List* - The models the organization has access to. - budget_id: *Optional[str]* - The id for a budget (tpm/rpm/max budget) for the organization. ### IF NO BUDGET ID - CREATE ONE WITH THESE PARAMS ### - max_budget: *Optional[float]* - Max budget for org - tpm_limit: *Optional[int]* - Max tpm limit for org - rpm_limit: *Optional[int]* - Max rpm limit for org - max_parallel_requests: *Optional[int]* - [Not Implemented Yet] Max parallel requests for org - soft_budget: *Optional[float]* - [Not Implemented Yet] Get a slack alert when this soft budget is reached. Don\'t block requests. - model_max_budget: *Optional[dict]* - Max budget for a specific model - budget_duration: *Optional[str]* - Frequency of reseting org budget - metadata: *Optional[dict]* - Metadata for organization, store information for organization. Example metadata - {\"extra_info\": \"some info\"} - blocked: *bool* - Flag indicating if the org is blocked or not - will stop all calls from keys with this org_id. - tags: *Optional[List[str]]* - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - organization_id: *Optional[str]* - The organization id of the team. Default is None. Create via `/organization/new`. - model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias)  Case 1: Create new org **without** a budget_id  ```bash curl --location \'http://0.0.0.0:4000/organization/new\'  --header \'Authorization: Bearer sk-1234\'  --header \'Content-Type: application/json\'  --data \'{     \"organization_alias\": \"my-secret-org\",     \"models\": [\"model1\", \"model2\"],     \"max_budget\": 100 }\'   ```  Case 2: Create new org **with** a budget_id  ```bash curl --location \'http://0.0.0.0:4000/organization/new\'  --header \'Authorization: Bearer sk-1234\'  --header \'Content-Type: application/json\'  --data \'{     \"organization_alias\": \"my-secret-org\",     \"models\": [\"model1\", \"model2\"],     \"budget_id\": \"428eeaa8-f3ac-4e85-a8fb-7dc8d7aa8689\" }\' ```
     * New Organization
     */
    newOrganizationOrganizationNewPostRaw(requestParameters: LitellmOrganizationManagementApiNewOrganizationOrganizationNewPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewOrganizationResponse>>;
    /**
     * Allow orgs to own teams  Set org level budgets + model access.  Only admins can create orgs.  # Parameters  - organization_alias: *str* - The name of the organization. - models: *List* - The models the organization has access to. - budget_id: *Optional[str]* - The id for a budget (tpm/rpm/max budget) for the organization. ### IF NO BUDGET ID - CREATE ONE WITH THESE PARAMS ### - max_budget: *Optional[float]* - Max budget for org - tpm_limit: *Optional[int]* - Max tpm limit for org - rpm_limit: *Optional[int]* - Max rpm limit for org - max_parallel_requests: *Optional[int]* - [Not Implemented Yet] Max parallel requests for org - soft_budget: *Optional[float]* - [Not Implemented Yet] Get a slack alert when this soft budget is reached. Don\'t block requests. - model_max_budget: *Optional[dict]* - Max budget for a specific model - budget_duration: *Optional[str]* - Frequency of reseting org budget - metadata: *Optional[dict]* - Metadata for organization, store information for organization. Example metadata - {\"extra_info\": \"some info\"} - blocked: *bool* - Flag indicating if the org is blocked or not - will stop all calls from keys with this org_id. - tags: *Optional[List[str]]* - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing). - organization_id: *Optional[str]* - The organization id of the team. Default is None. Create via `/organization/new`. - model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias)  Case 1: Create new org **without** a budget_id  ```bash curl --location \'http://0.0.0.0:4000/organization/new\'  --header \'Authorization: Bearer sk-1234\'  --header \'Content-Type: application/json\'  --data \'{     \"organization_alias\": \"my-secret-org\",     \"models\": [\"model1\", \"model2\"],     \"max_budget\": 100 }\'   ```  Case 2: Create new org **with** a budget_id  ```bash curl --location \'http://0.0.0.0:4000/organization/new\'  --header \'Authorization: Bearer sk-1234\'  --header \'Content-Type: application/json\'  --data \'{     \"organization_alias\": \"my-secret-org\",     \"models\": [\"model1\", \"model2\"],     \"budget_id\": \"428eeaa8-f3ac-4e85-a8fb-7dc8d7aa8689\" }\' ```
     * New Organization
     */
    newOrganizationOrganizationNewPost(requestParameters?: LitellmOrganizationManagementApiNewOrganizationOrganizationNewPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewOrganizationResponse>;
    /**
     * [BETA]  Add new members (either via user_email or user_id) to an organization  If user doesn\'t exist, new user row will also be added to User Table  Only proxy_admin or org_admin of organization, allowed to access this endpoint.  # Parameters:  - organization_id: str (required) - member: Union[List[Member], Member] (required)     - role: Literal[LitellmUserRoles] (required)     - user_id: Optional[str]     - user_email: Optional[str]  Note: Either user_id or user_email must be provided for each member.  Example: ``` curl -X POST \'http://0.0.0.0:4000/organization/member_add\'     -H \'Authorization: Bearer sk-1234\'     -H \'Content-Type: application/json\'     -d \'{     \"organization_id\": \"45e3e396-ee08-4a61-a88e-16b3ce7e0849\",     \"member\": {         \"role\": \"internal_user\",         \"user_id\": \"krrish247652@berri.ai\"     },     \"max_budget_in_organization\": 100.0 }\' ```  The following is executed in this function:  1. Check if organization exists 2. Creates a new Internal User if the user_id or user_email is not found in LiteLLM_UserTable 3. Add Internal User to the `LiteLLM_OrganizationMembership` table
     * Organization Member Add
     */
    organizationMemberAddOrganizationMemberAddPostRaw(requestParameters: LitellmOrganizationManagementApiOrganizationMemberAddOrganizationMemberAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<OrganizationAddMemberResponse>>;
    /**
     * [BETA]  Add new members (either via user_email or user_id) to an organization  If user doesn\'t exist, new user row will also be added to User Table  Only proxy_admin or org_admin of organization, allowed to access this endpoint.  # Parameters:  - organization_id: str (required) - member: Union[List[Member], Member] (required)     - role: Literal[LitellmUserRoles] (required)     - user_id: Optional[str]     - user_email: Optional[str]  Note: Either user_id or user_email must be provided for each member.  Example: ``` curl -X POST \'http://0.0.0.0:4000/organization/member_add\'     -H \'Authorization: Bearer sk-1234\'     -H \'Content-Type: application/json\'     -d \'{     \"organization_id\": \"45e3e396-ee08-4a61-a88e-16b3ce7e0849\",     \"member\": {         \"role\": \"internal_user\",         \"user_id\": \"krrish247652@berri.ai\"     },     \"max_budget_in_organization\": 100.0 }\' ```  The following is executed in this function:  1. Check if organization exists 2. Creates a new Internal User if the user_id or user_email is not found in LiteLLM_UserTable 3. Add Internal User to the `LiteLLM_OrganizationMembership` table
     * Organization Member Add
     */
    organizationMemberAddOrganizationMemberAddPost(requestParameters?: LitellmOrganizationManagementApiOrganizationMemberAddOrganizationMemberAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<OrganizationAddMemberResponse>;
    /**
     * Delete a member from an organization
     * Organization Member Delete
     */
    organizationMemberDeleteOrganizationMemberDeleteDeleteRaw(requestParameters: LitellmOrganizationManagementApiOrganizationMemberDeleteOrganizationMemberDeleteDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>>;
    /**
     * Delete a member from an organization
     * Organization Member Delete
     */
    organizationMemberDeleteOrganizationMemberDeleteDelete(requestParameters?: LitellmOrganizationManagementApiOrganizationMemberDeleteOrganizationMemberDeleteDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string>;
    /**
     * Update a member\'s role in an organization
     * Organization Member Update
     */
    organizationMemberUpdateOrganizationMemberUpdatePatchRaw(requestParameters: LitellmOrganizationManagementApiOrganizationMemberUpdateOrganizationMemberUpdatePatchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LiteLlmOrganizationMembershipTable>>;
    /**
     * Update a member\'s role in an organization
     * Organization Member Update
     */
    organizationMemberUpdateOrganizationMemberUpdatePatch(requestParameters?: LitellmOrganizationManagementApiOrganizationMemberUpdateOrganizationMemberUpdatePatchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LiteLlmOrganizationMembershipTable>;
    /**
     * Update an organization
     * Update Organization
     */
    updateOrganizationOrganizationUpdatePatchRaw(requestParameters: LitellmOrganizationManagementApiUpdateOrganizationOrganizationUpdatePatchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LiteLlmOrganizationTableWithMembers>>;
    /**
     * Update an organization
     * Update Organization
     */
    updateOrganizationOrganizationUpdatePatch(requestParameters?: LitellmOrganizationManagementApiUpdateOrganizationOrganizationUpdatePatchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LiteLlmOrganizationTableWithMembers>;
}
