import * as core from "@terrascript/core";
export interface MaintenanceStartTimeArgs extends core.SchemaArgs {
    dayOfMonth?: string | core.StringOut;
    dayOfWeek?: string | core.StringOut;
    hourOfDay: number | core.NumberOut;
    minuteOfHour?: number | core.NumberOut;
}
export declare class MaintenanceStartTime extends core.Schema<MaintenanceStartTimeArgs> {
    dayOfMonth?: string | core.StringOut;
    dayOfWeek?: string | core.StringOut;
    hourOfDay: number | core.NumberOut;
    minuteOfHour?: number | core.NumberOut;
}
export interface GatewayNetworkInterfaceArgs extends core.SchemaArgs {
    ipv4Address: string | core.StringOut;
}
export declare class GatewayNetworkInterface extends core.Schema<GatewayNetworkInterfaceArgs> {
    ipv4Address: string | core.StringOut;
}
export interface SmbActiveDirectorySettingsArgs extends core.SchemaArgs {
    activeDirectoryStatus: string | core.StringOut;
    domainControllers?: core.Array<string> | core.ArrayOut<core.StringOut>;
    domainName: string | core.StringOut;
    organizationalUnit?: string | core.StringOut;
    password: string | core.StringOut;
    timeoutInSeconds?: number | core.NumberOut;
    username: string | core.StringOut;
}
export declare class SmbActiveDirectorySettings extends core.Schema<SmbActiveDirectorySettingsArgs> {
    activeDirectoryStatus: string | core.StringOut;
    domainControllers?: core.Array<string> | core.ArrayOut<core.StringOut>;
    domainName: string | core.StringOut;
    organizationalUnit?: string | core.StringOut;
    password: string | core.StringOut;
    timeoutInSeconds?: number | core.NumberOut;
    username: string | core.StringOut;
}
export interface GatewayArgs extends core.ResourceArgs {
    activationKey?: string | core.StringOut;
    averageDownloadRateLimitInBitsPerSec?: number | core.NumberOut;
    averageUploadRateLimitInBitsPerSec?: number | core.NumberOut;
    cloudwatchLogGroupArn?: string | core.StringOut;
    gatewayIpAddress?: string | core.StringOut;
    gatewayName: string | core.StringOut;
    gatewayTimezone: string | core.StringOut;
    gatewayType?: string | core.StringOut;
    gatewayVpcEndpoint?: string | core.StringOut;
    maintenanceStartTime?: MaintenanceStartTime;
    mediumChangerType?: string | core.StringOut;
    smbActiveDirectorySettings?: SmbActiveDirectorySettings;
    smbFileShareVisibility?: boolean | core.BooleanOut;
    smbGuestPassword?: string | core.StringOut;
    smbSecurityStrategy?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tapeDriveType?: string | core.StringOut;
}
export declare class Gateway extends core.Resource<GatewayArgs> {
    activationKey?: string | core.StringOut;
    arn: string | core.StringOut;
    averageDownloadRateLimitInBitsPerSec?: number | core.NumberOut;
    averageUploadRateLimitInBitsPerSec?: number | core.NumberOut;
    cloudwatchLogGroupArn?: string | core.StringOut;
    ec2InstanceId: string | core.StringOut;
    endpointType: string | core.StringOut;
    gatewayId: string | core.StringOut;
    gatewayIpAddress?: string | core.StringOut;
    gatewayName: string | core.StringOut;
    gatewayNetworkInterface: core.Array<GatewayNetworkInterface> | core.ArrayOut<GatewayNetworkInterface>;
    gatewayTimezone: string | core.StringOut;
    gatewayType?: string | core.StringOut;
    gatewayVpcEndpoint?: string | core.StringOut;
    hostEnvironment: string | core.StringOut;
    id: string | core.StringOut;
    maintenanceStartTime?: MaintenanceStartTime;
    mediumChangerType?: string | core.StringOut;
    smbActiveDirectorySettings?: SmbActiveDirectorySettings;
    smbFileShareVisibility?: boolean | core.BooleanOut;
    smbGuestPassword?: string | core.StringOut;
    smbSecurityStrategy?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tapeDriveType?: string | core.StringOut;
    constructor(name: string, args?: GatewayArgs);
    getNamespace(): string;
}
//# sourceMappingURL=gateway.d.ts.map