import * as core from "@terrascript/core";
export interface ConnectSettingsArgs extends core.SchemaArgs {
    availabilityZones: core.Array<string> | core.ArrayOut<core.StringOut>;
    connectIps: core.Array<string> | core.ArrayOut<core.StringOut>;
    customerDnsIps: core.Array<string> | core.ArrayOut<core.StringOut>;
    customerUsername: string | core.StringOut;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export declare class ConnectSettings extends core.Schema<ConnectSettingsArgs> {
    availabilityZones: core.Array<string> | core.ArrayOut<core.StringOut>;
    connectIps: core.Array<string> | core.ArrayOut<core.StringOut>;
    customerDnsIps: core.Array<string> | core.ArrayOut<core.StringOut>;
    customerUsername: string | core.StringOut;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export interface VpcSettingsArgs extends core.SchemaArgs {
    availabilityZones: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export declare class VpcSettings extends core.Schema<VpcSettingsArgs> {
    availabilityZones: core.Array<string> | core.ArrayOut<core.StringOut>;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export interface RadiusSettingsArgs extends core.SchemaArgs {
    authenticationProtocol: string | core.StringOut;
    displayLabel: string | core.StringOut;
    radiusPort: number | core.NumberOut;
    radiusRetries: number | core.NumberOut;
    radiusServers: core.Array<string> | core.ArrayOut<core.StringOut>;
    radiusTimeout: number | core.NumberOut;
    useSameUsername: boolean | core.BooleanOut;
}
export declare class RadiusSettings extends core.Schema<RadiusSettingsArgs> {
    authenticationProtocol: string | core.StringOut;
    displayLabel: string | core.StringOut;
    radiusPort: number | core.NumberOut;
    radiusRetries: number | core.NumberOut;
    radiusServers: core.Array<string> | core.ArrayOut<core.StringOut>;
    radiusTimeout: number | core.NumberOut;
    useSameUsername: boolean | core.BooleanOut;
}
export interface DsDirectoryServiceDirectoryArgs {
    directoryId: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsDirectoryServiceDirectory extends core.Data<DsDirectoryServiceDirectoryArgs> {
    accessUrl: string | core.StringOut;
    alias: string | core.StringOut;
    connectSettings: core.Array<ConnectSettings> | core.ArrayOut<ConnectSettings>;
    description: string | core.StringOut;
    directoryId: string | core.StringOut;
    dnsIpAddresses: core.Array<string> | core.ArrayOut<core.StringOut>;
    edition: string | core.StringOut;
    enableSso: boolean | core.BooleanOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
    radiusSettings: core.Array<RadiusSettings> | core.ArrayOut<RadiusSettings>;
    securityGroupId: string | core.StringOut;
    shortName: string | core.StringOut;
    size: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    type: string | core.StringOut;
    vpcSettings: core.Array<VpcSettings> | core.ArrayOut<VpcSettings>;
    constructor(name: string, args?: DsDirectoryServiceDirectoryArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_directory_service_directory.d.ts.map