import { BaseAPI } from '../../../../common/BaseAPI';
import Configuration from '../../../../common/Configuration';
import BitmovinResponse from '../../../../models/BitmovinResponse';
import Tenant from '../../../../models/Tenant';
import PaginationResponse from '../../../../models/PaginationResponse';
import { TenantListQueryParams, TenantListQueryParamsBuilder } from './TenantListQueryParams';
/**
 * TenantsApi - object-oriented interface
 * @export
 * @class TenantsApi
 * @extends {BaseAPI}
 */
export default class TenantsApi extends BaseAPI {
    constructor(configuration: Configuration);
    /**
     * @summary Add Tenant to Group
     * @param {string} organizationId Id of the organization
     * @param {string} groupId Id of the group
     * @param {Tenant} tenant Tenant details
     * @throws {BitmovinError}
     * @memberof TenantsApi
     */
    create(organizationId: string, groupId: string, tenant?: Tenant): Promise<Tenant>;
    /**
     * @summary Delete Tenant
     * @param {string} organizationId Id of the organization
     * @param {string} groupId Id of the group
     * @param {string} tenantId Id of the tenant.
     * @throws {BitmovinError}
     * @memberof TenantsApi
     */
    delete(organizationId: string, groupId: string, tenantId: string): Promise<BitmovinResponse>;
    /**
     * @summary Tenant Details
     * @param {string} organizationId Id of the organization
     * @param {string} groupId Id of the group
     * @param {string} tenantId Id of the tenant.
     * @throws {BitmovinError}
     * @memberof TenantsApi
     */
    get(organizationId: string, groupId: string, tenantId: string): Promise<Tenant>;
    /**
     * @summary List Tenants
     * @param {string} organizationId Id of the organization
     * @param {string} groupId Id of the group
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof TenantsApi
     */
    list(organizationId: string, groupId: string, queryParameters?: TenantListQueryParams | ((q: TenantListQueryParamsBuilder) => TenantListQueryParamsBuilder)): Promise<PaginationResponse<Tenant>>;
}
