import * as core from "@terrascript/core";
export interface ClientLoginBannerOptionsArgs extends core.SchemaArgs {
    bannerText?: string | core.StringOut;
    enabled?: boolean | core.BooleanOut;
}
export declare class ClientLoginBannerOptions extends core.Schema<ClientLoginBannerOptionsArgs> {
    bannerText?: string | core.StringOut;
    enabled?: boolean | core.BooleanOut;
}
export interface ClientConnectOptionsArgs extends core.SchemaArgs {
    enabled?: boolean | core.BooleanOut;
    lambdaFunctionArn?: string | core.StringOut;
}
export declare class ClientConnectOptions extends core.Schema<ClientConnectOptionsArgs> {
    enabled?: boolean | core.BooleanOut;
    lambdaFunctionArn?: string | core.StringOut;
}
export interface AuthenticationOptionsArgs extends core.SchemaArgs {
    activeDirectoryId?: string | core.StringOut;
    rootCertificateChainArn?: string | core.StringOut;
    samlProviderArn?: string | core.StringOut;
    selfServiceSamlProviderArn?: string | core.StringOut;
    type: string | core.StringOut;
}
export declare class AuthenticationOptions extends core.Schema<AuthenticationOptionsArgs> {
    activeDirectoryId?: string | core.StringOut;
    rootCertificateChainArn?: string | core.StringOut;
    samlProviderArn?: string | core.StringOut;
    selfServiceSamlProviderArn?: string | core.StringOut;
    type: string | core.StringOut;
}
export interface ConnectionLogOptionsArgs extends core.SchemaArgs {
    cloudwatchLogGroup?: string | core.StringOut;
    cloudwatchLogStream?: string | core.StringOut;
    enabled: boolean | core.BooleanOut;
}
export declare class ConnectionLogOptions extends core.Schema<ConnectionLogOptionsArgs> {
    cloudwatchLogGroup?: string | core.StringOut;
    cloudwatchLogStream?: string | core.StringOut;
    enabled: boolean | core.BooleanOut;
}
export interface Ec2ClientVpnEndpointArgs extends core.ResourceArgs {
    authenticationOptions: core.Array<AuthenticationOptions> | core.ArrayOut<AuthenticationOptions>;
    clientCidrBlock: string | core.StringOut;
    clientConnectOptions?: ClientConnectOptions;
    clientLoginBannerOptions?: ClientLoginBannerOptions;
    connectionLogOptions: ConnectionLogOptions;
    description?: string | core.StringOut;
    dnsServers?: core.Array<string> | core.ArrayOut<core.StringOut>;
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    selfServicePortal?: string | core.StringOut;
    serverCertificateArn: string | core.StringOut;
    sessionTimeoutHours?: number | core.NumberOut;
    splitTunnel?: boolean | core.BooleanOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    transportProtocol?: string | core.StringOut;
    vpcId?: string | core.StringOut;
    vpnPort?: number | core.NumberOut;
}
export declare class Ec2ClientVpnEndpoint extends core.Resource<Ec2ClientVpnEndpointArgs> {
    arn: string | core.StringOut;
    authenticationOptions: core.Array<AuthenticationOptions> | core.ArrayOut<AuthenticationOptions>;
    clientCidrBlock: string | core.StringOut;
    clientConnectOptions?: ClientConnectOptions;
    clientLoginBannerOptions?: ClientLoginBannerOptions;
    connectionLogOptions: ConnectionLogOptions;
    description?: string | core.StringOut;
    dnsName: string | core.StringOut;
    dnsServers?: core.Array<string> | core.ArrayOut<core.StringOut>;
    id: string | core.StringOut;
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    selfServicePortal?: string | core.StringOut;
    serverCertificateArn: string | core.StringOut;
    sessionTimeoutHours?: number | core.NumberOut;
    splitTunnel?: boolean | core.BooleanOut;
    status: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    transportProtocol?: string | core.StringOut;
    vpcId?: string | core.StringOut;
    vpnPort?: number | core.NumberOut;
    constructor(name: string, args?: Ec2ClientVpnEndpointArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ec2_client_vpn_endpoint.d.ts.map