import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { AccessInformationContract, TenantAccessListByServiceOptionalParams, AccessIdName, TenantAccessGetEntityTagOptionalParams, TenantAccessGetEntityTagResponse, TenantAccessGetOptionalParams, TenantAccessGetResponse, AccessInformationCreateParameters, TenantAccessCreateOptionalParams, TenantAccessCreateResponse, AccessInformationUpdateParameters, TenantAccessUpdateOptionalParams, TenantAccessUpdateResponse, TenantAccessRegeneratePrimaryKeyOptionalParams, TenantAccessRegenerateSecondaryKeyOptionalParams, TenantAccessListSecretsOptionalParams, TenantAccessListSecretsResponse } from "../models/index.js";
/** Interface representing a TenantAccess. */
export interface TenantAccess {
    /**
     * Returns list of access infos - for Git and Management endpoints.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param options The options parameters.
     */
    listByService(resourceGroupName: string, serviceName: string, options?: TenantAccessListByServiceOptionalParams): PagedAsyncIterableIterator<AccessInformationContract>;
    /**
     * Tenant access metadata
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param accessName The identifier of the Access configuration.
     * @param options The options parameters.
     */
    getEntityTag(resourceGroupName: string, serviceName: string, accessName: AccessIdName, options?: TenantAccessGetEntityTagOptionalParams): Promise<TenantAccessGetEntityTagResponse>;
    /**
     * Get tenant access information details without secrets.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param accessName The identifier of the Access configuration.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, serviceName: string, accessName: AccessIdName, options?: TenantAccessGetOptionalParams): Promise<TenantAccessGetResponse>;
    /**
     * Update tenant access information details.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param accessName The identifier of the Access configuration.
     * @param ifMatch ETag of the Entity. ETag should match the current entity state from the header
     *                response of the GET request or it should be * for unconditional update.
     * @param parameters Parameters supplied to retrieve the Tenant Access Information.
     * @param options The options parameters.
     */
    create(resourceGroupName: string, serviceName: string, accessName: AccessIdName, ifMatch: string, parameters: AccessInformationCreateParameters, options?: TenantAccessCreateOptionalParams): Promise<TenantAccessCreateResponse>;
    /**
     * Update tenant access information details.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param accessName The identifier of the Access configuration.
     * @param ifMatch ETag of the Entity. ETag should match the current entity state from the header
     *                response of the GET request or it should be * for unconditional update.
     * @param parameters Parameters supplied to retrieve the Tenant Access Information.
     * @param options The options parameters.
     */
    update(resourceGroupName: string, serviceName: string, accessName: AccessIdName, ifMatch: string, parameters: AccessInformationUpdateParameters, options?: TenantAccessUpdateOptionalParams): Promise<TenantAccessUpdateResponse>;
    /**
     * Regenerate primary access key
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param accessName The identifier of the Access configuration.
     * @param options The options parameters.
     */
    regeneratePrimaryKey(resourceGroupName: string, serviceName: string, accessName: AccessIdName, options?: TenantAccessRegeneratePrimaryKeyOptionalParams): Promise<void>;
    /**
     * Regenerate secondary access key
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param accessName The identifier of the Access configuration.
     * @param options The options parameters.
     */
    regenerateSecondaryKey(resourceGroupName: string, serviceName: string, accessName: AccessIdName, options?: TenantAccessRegenerateSecondaryKeyOptionalParams): Promise<void>;
    /**
     * Get tenant access information details.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serviceName The name of the API Management service.
     * @param accessName The identifier of the Access configuration.
     * @param options The options parameters.
     */
    listSecrets(resourceGroupName: string, serviceName: string, accessName: AccessIdName, options?: TenantAccessListSecretsOptionalParams): Promise<TenantAccessListSecretsResponse>;
}
//# sourceMappingURL=tenantAccess.d.ts.map