import { CfnResource, Resolvable } from '../../base';
export declare type Connection_Type = 'AWS::Events::Connection';
export declare const Connection_Type = "AWS::Events::Connection";
/**
 * Resource Type definition for AWS::Events::Connection. {@link
 * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html}
 */
export default function Connection(props: Connection_Properties): CfnResource<Connection_Properties>;
/**
 * Resource Type definition for AWS::Events::Connection. {@link
 * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html}
 */
export declare type Connection_Properties = {
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-name}
     */
    Name?: Resolvable<string>;
    Arn?: Resolvable<string>;
    SecretArn?: Resolvable<string>;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-description}
     */
    Description?: Resolvable<string>;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authorizationtype}
     */
    AuthorizationType: Resolvable<'API_KEY' | 'BASIC' | 'OAUTH_CLIENT_CREDENTIALS'>;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authparameters}
     */
    AuthParameters: {
        ApiKeyAuthParameters?: ApiKeyAuthParameters;
        BasicAuthParameters: BasicAuthParameters;
        OAuthParameters?: OAuthParameters;
        InvocationHttpParameters?: ConnectionHttpParameters;
    } | {
        ApiKeyAuthParameters?: ApiKeyAuthParameters;
        BasicAuthParameters?: BasicAuthParameters;
        OAuthParameters: OAuthParameters;
        InvocationHttpParameters?: ConnectionHttpParameters;
    } | {
        ApiKeyAuthParameters: ApiKeyAuthParameters;
        BasicAuthParameters?: BasicAuthParameters;
        OAuthParameters?: OAuthParameters;
        InvocationHttpParameters?: ConnectionHttpParameters;
    };
};
export declare type AuthParameters = {
    ApiKeyAuthParameters?: ApiKeyAuthParameters;
    BasicAuthParameters: BasicAuthParameters;
    OAuthParameters?: OAuthParameters;
    InvocationHttpParameters?: ConnectionHttpParameters;
} | {
    ApiKeyAuthParameters?: ApiKeyAuthParameters;
    BasicAuthParameters?: BasicAuthParameters;
    OAuthParameters: OAuthParameters;
    InvocationHttpParameters?: ConnectionHttpParameters;
} | {
    ApiKeyAuthParameters: ApiKeyAuthParameters;
    BasicAuthParameters?: BasicAuthParameters;
    OAuthParameters?: OAuthParameters;
    InvocationHttpParameters?: ConnectionHttpParameters;
};
export declare type BasicAuthParameters = {
    Username: Resolvable<string>;
    Password: Resolvable<string>;
};
export declare type OAuthParameters = {
    ClientParameters: ClientParameters;
    AuthorizationEndpoint: Resolvable<string>;
    HttpMethod: Resolvable<'GET' | 'POST' | 'PUT'>;
    OAuthHttpParameters?: ConnectionHttpParameters;
};
export declare type ApiKeyAuthParameters = {
    ApiKeyName: Resolvable<string>;
    ApiKeyValue: Resolvable<string>;
};
export declare type ClientParameters = {
    ClientID: Resolvable<string>;
    ClientSecret: Resolvable<string>;
};
export declare type ConnectionHttpParameters = {
    HeaderParameters?: Parameter[];
    QueryStringParameters?: Parameter[];
    BodyParameters?: Parameter[];
};
export declare type Parameter = {
    Key: Resolvable<string>;
    Value: Resolvable<string>;
    IsValueSecret?: Resolvable<boolean>;
};
