import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { SimplePollerLike, OperationState } from "@azure/core-lro";
import { ApiManagementGatewayConfigConnectionResource, ApiGatewayConfigConnectionListByGatewayOptionalParams, ApiGatewayConfigConnectionGetOptionalParams, ApiGatewayConfigConnectionGetResponse, ApiGatewayConfigConnectionCreateOrUpdateOptionalParams, ApiGatewayConfigConnectionCreateOrUpdateResponse, ApiGatewayConfigConnectionDeleteOptionalParams, ApiGatewayConfigConnectionDeleteResponse } from "../models/index.js";
/** Interface representing a ApiGatewayConfigConnection. */
export interface ApiGatewayConfigConnection {
    /**
     * List all API Management gateway config connections within a gateway.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param gatewayName The name of the API Management gateway.
     * @param options The options parameters.
     */
    listByGateway(resourceGroupName: string, gatewayName: string, options?: ApiGatewayConfigConnectionListByGatewayOptionalParams): PagedAsyncIterableIterator<ApiManagementGatewayConfigConnectionResource>;
    /**
     * Gets an API Management gateway config connection resource description.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param gatewayName The name of the API Management gateway.
     * @param configConnectionName The name of the API Management gateway config connection.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, gatewayName: string, configConnectionName: string, options?: ApiGatewayConfigConnectionGetOptionalParams): Promise<ApiGatewayConfigConnectionGetResponse>;
    /**
     * Creates or updates an API Management gateway config connection. This is long running operation and
     * could take several minutes to complete.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param gatewayName The name of the API Management gateway.
     * @param configConnectionName The name of the API Management gateway config connection.
     * @param parameters Parameters supplied to the CreateOrUpdate API Management gateway config connection
     *                   operation.
     * @param options The options parameters.
     */
    beginCreateOrUpdate(resourceGroupName: string, gatewayName: string, configConnectionName: string, parameters: ApiManagementGatewayConfigConnectionResource, options?: ApiGatewayConfigConnectionCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<ApiGatewayConfigConnectionCreateOrUpdateResponse>, ApiGatewayConfigConnectionCreateOrUpdateResponse>>;
    /**
     * Creates or updates an API Management gateway config connection. This is long running operation and
     * could take several minutes to complete.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param gatewayName The name of the API Management gateway.
     * @param configConnectionName The name of the API Management gateway config connection.
     * @param parameters Parameters supplied to the CreateOrUpdate API Management gateway config connection
     *                   operation.
     * @param options The options parameters.
     */
    beginCreateOrUpdateAndWait(resourceGroupName: string, gatewayName: string, configConnectionName: string, parameters: ApiManagementGatewayConfigConnectionResource, options?: ApiGatewayConfigConnectionCreateOrUpdateOptionalParams): Promise<ApiGatewayConfigConnectionCreateOrUpdateResponse>;
    /**
     * Deletes an existing API Management gateway config connection.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param gatewayName The name of the API Management gateway.
     * @param configConnectionName The name of the API Management gateway config connection.
     * @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 options The options parameters.
     */
    beginDelete(resourceGroupName: string, gatewayName: string, configConnectionName: string, ifMatch: string, options?: ApiGatewayConfigConnectionDeleteOptionalParams): Promise<SimplePollerLike<OperationState<ApiGatewayConfigConnectionDeleteResponse>, ApiGatewayConfigConnectionDeleteResponse>>;
    /**
     * Deletes an existing API Management gateway config connection.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param gatewayName The name of the API Management gateway.
     * @param configConnectionName The name of the API Management gateway config connection.
     * @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 options The options parameters.
     */
    beginDeleteAndWait(resourceGroupName: string, gatewayName: string, configConnectionName: string, ifMatch: string, options?: ApiGatewayConfigConnectionDeleteOptionalParams): Promise<ApiGatewayConfigConnectionDeleteResponse>;
}
//# sourceMappingURL=apiGatewayConfigConnection.d.ts.map