import { z as zod } from 'zod';
import { Authorizer, RestApiProps } from 'aws-cdk-lib/aws-apigateway';
import { ApiGatewayProps as CdkApiGatewayProps } from 'aws-cdk-lib/aws-events-targets';
import { Certificate } from 'aws-cdk-lib/aws-certificatemanager';
export declare const ExtendedApiGatewayPropsSchema: zod.ZodObject<{
    serviceName: zod.ZodString;
    env: zod.ZodString;
    customDomainName: zod.ZodOptional<zod.ZodString>;
    version: zod.ZodOptional<zod.ZodString>;
    rateLimit: zod.ZodOptional<zod.ZodNumber>;
    burstLimit: zod.ZodOptional<zod.ZodNumber>;
    apiKeyRequired: zod.ZodOptional<zod.ZodBoolean>;
    restApiProps: zod.ZodOptional<zod.ZodObject<{
        deployOptions: zod.ZodOptional<zod.ZodAny>;
        defaultMethodOptions: zod.ZodOptional<zod.ZodAny>;
    }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{
        deployOptions: zod.ZodOptional<zod.ZodAny>;
        defaultMethodOptions: zod.ZodOptional<zod.ZodAny>;
    }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{
        deployOptions: zod.ZodOptional<zod.ZodAny>;
        defaultMethodOptions: zod.ZodOptional<zod.ZodAny>;
    }, zod.ZodTypeAny, "passthrough">>>;
    domainNameAliasTarget: zod.ZodOptional<zod.ZodString>;
    domainNameAliasHostedZoneId: zod.ZodOptional<zod.ZodString>;
    corsOptions: zod.ZodOptional<zod.ZodObject<{
        allowOrigins: zod.ZodArray<zod.ZodString, "many">;
        allowMethods: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
        allowHeaders: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
    }, "strip", zod.ZodTypeAny, {
        allowOrigins: string[];
        allowMethods?: string[] | undefined;
        allowHeaders?: string[] | undefined;
    }, {
        allowOrigins: string[];
        allowMethods?: string[] | undefined;
        allowHeaders?: string[] | undefined;
    }>>;
    enableTracing: zod.ZodOptional<zod.ZodBoolean>;
    loggingLevel: zod.ZodOptional<zod.ZodString>;
    dataTraceEnabled: zod.ZodOptional<zod.ZodBoolean>;
    authorizer: zod.ZodOptional<zod.ZodType<Authorizer, zod.ZodTypeDef, Authorizer>>;
    customDomainCertificate: zod.ZodOptional<zod.ZodType<Certificate, zod.ZodTypeDef, Certificate>>;
}, "strip", zod.ZodTypeAny, {
    serviceName: string;
    env: string;
    customDomainName?: string | undefined;
    version?: string | undefined;
    rateLimit?: number | undefined;
    burstLimit?: number | undefined;
    apiKeyRequired?: boolean | undefined;
    restApiProps?: zod.objectOutputType<{
        deployOptions: zod.ZodOptional<zod.ZodAny>;
        defaultMethodOptions: zod.ZodOptional<zod.ZodAny>;
    }, zod.ZodTypeAny, "passthrough"> | undefined;
    domainNameAliasTarget?: string | undefined;
    domainNameAliasHostedZoneId?: string | undefined;
    corsOptions?: {
        allowOrigins: string[];
        allowMethods?: string[] | undefined;
        allowHeaders?: string[] | undefined;
    } | undefined;
    enableTracing?: boolean | undefined;
    loggingLevel?: string | undefined;
    dataTraceEnabled?: boolean | undefined;
    authorizer?: Authorizer | undefined;
    customDomainCertificate?: Certificate | undefined;
}, {
    serviceName: string;
    env: string;
    customDomainName?: string | undefined;
    version?: string | undefined;
    rateLimit?: number | undefined;
    burstLimit?: number | undefined;
    apiKeyRequired?: boolean | undefined;
    restApiProps?: zod.objectInputType<{
        deployOptions: zod.ZodOptional<zod.ZodAny>;
        defaultMethodOptions: zod.ZodOptional<zod.ZodAny>;
    }, zod.ZodTypeAny, "passthrough"> | undefined;
    domainNameAliasTarget?: string | undefined;
    domainNameAliasHostedZoneId?: string | undefined;
    corsOptions?: {
        allowOrigins: string[];
        allowMethods?: string[] | undefined;
        allowHeaders?: string[] | undefined;
    } | undefined;
    enableTracing?: boolean | undefined;
    loggingLevel?: string | undefined;
    dataTraceEnabled?: boolean | undefined;
    authorizer?: Authorizer | undefined;
    customDomainCertificate?: Certificate | undefined;
}>;
export interface ApiGatewayProps extends CdkApiGatewayProps, Partial<RestApiProps>, zod.infer<typeof ExtendedApiGatewayPropsSchema> {
}
