/**
 *  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
 *  with the License. A copy of the License is located at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
 *  OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
 *  and limitations under the License.
 */
import * as api from 'aws-cdk-lib/aws-apigateway';
import { IntegrationResponse } from 'aws-cdk-lib/aws-apigateway';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import { LogGroup } from 'aws-cdk-lib/aws-logs';
import { Construct } from 'constructs';
/**
 * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
 *
 * Provides the default set of properties for Edge/Global Lambda backed RestApi
 * @param scope - the construct to which the RestApi should be attached to.
 * @param _endpointType - endpoint type for Api Gateway e.g. Regional, Global, Private
 * @param logGroup - CW Log group for Api Gateway access logging
 */
export declare function DefaultGlobalLambdaRestApiProps(existingLambdaObj: lambda.Function, logGroup: LogGroup): api.LambdaRestApiProps;
/**
 * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
 *
 * Provides the default set of properties for Regional Lambda backed RestApi
 * @param scope - the construct to which the RestApi should be attached to.
 * @param _endpointType - endpoint type for Api Gateway e.g. Regional, Global, Private
 * @param logGroup - CW Log group for Api Gateway access logging
 */
export declare function DefaultRegionalLambdaRestApiProps(existingLambdaObj: lambda.Function, logGroup: LogGroup, includeAuth?: boolean): api.LambdaRestApiProps;
/**
 * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
 *
 * Provides the default set of properties for Edge/Global RestApi
 * @param logGroup - CW Log group for Api Gateway access logging
 */
export declare function DefaultGlobalRestApiProps(logGroup: LogGroup): api.RestApiProps;
/**
 * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
 *
 * Provides the default set of properties for Regional RestApi
 * @param logGroup - CW Log group for Api Gateway access logging
 */
export declare function DefaultRegionalRestApiProps(logGroup: LogGroup): api.RestApiProps;
/**
 * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
 *
 * Provides the default set of properties for SpecRestApi
 * @param logGroup - CloudWatch Log Group for Api Gateway Access Logging
 */
export declare function DefaultSpecRestApiProps(scope: Construct, logGroup: LogGroup): api.RestApiBaseProps;
/**
 * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
 *
 * @returns The set of default integration responses for status codes 200 and 500.
 */
export declare function DefaultIntegrationResponses(): IntegrationResponse[];
