import type { NaturalNumberOrZero } from "../../../common/CustomTypes/Numerics";
import type { Arn } from "../../CustomTypes/Arn";
import type { AwsResourceCommon } from "../common";
import type { CloudFormationValue } from "../IntrinsicFunctions";
export declare type AuthorizerType = 'AWS::ApiGateway::Authorizer';
export interface Authorizer extends AwsResourceCommon {
    Type: AuthorizerType;
    Properties: AuthorizerProperties;
}
export interface AuthorizerProperties {
    AuthorizerCredentials?: CloudFormationValue<Arn | null>;
    AuthorizerResultTtlInSeconds?: NaturalNumberOrZero;
    AuthorizerUri?: CloudFormationValue;
    AuthType?: string;
    IdentitySource?: string;
    IdentityValidationExpression?: string;
    Name: string;
    ProviderARNs?: CloudFormationValue<Arn>[];
    RestApiId: CloudFormationValue<Arn>;
    Type: AwsAuthorizerType;
}
export declare type AwsAuthorizerType = 'COGNITO_USER_POOLS' | 'REQUEST' | 'TOKEN';
