import * as core from "@terrascript/core";
export interface S3ImportArgs extends core.SchemaArgs {
    bucketName: string | core.StringOut;
    bucketPrefix?: string | core.StringOut;
    ingestionRole: string | core.StringOut;
    sourceEngine: string | core.StringOut;
    sourceEngineVersion: string | core.StringOut;
}
export declare class S3Import extends core.Schema<S3ImportArgs> {
    bucketName: string | core.StringOut;
    bucketPrefix?: string | core.StringOut;
    ingestionRole: string | core.StringOut;
    sourceEngine: string | core.StringOut;
    sourceEngineVersion: string | core.StringOut;
}
export interface RestoreToPointInTimeArgs extends core.SchemaArgs {
    restoreTime?: string | core.StringOut;
    sourceDbInstanceAutomatedBackupsArn?: string | core.StringOut;
    sourceDbInstanceIdentifier?: string | core.StringOut;
    sourceDbiResourceId?: string | core.StringOut;
    useLatestRestorableTime?: boolean | core.BooleanOut;
}
export declare class RestoreToPointInTime extends core.Schema<RestoreToPointInTimeArgs> {
    restoreTime?: string | core.StringOut;
    sourceDbInstanceAutomatedBackupsArn?: string | core.StringOut;
    sourceDbInstanceIdentifier?: string | core.StringOut;
    sourceDbiResourceId?: string | core.StringOut;
    useLatestRestorableTime?: boolean | core.BooleanOut;
}
export interface DbInstanceArgs extends core.ResourceArgs {
    allocatedStorage?: number | core.NumberOut;
    allowMajorVersionUpgrade?: boolean | core.BooleanOut;
    applyImmediately?: boolean | core.BooleanOut;
    autoMinorVersionUpgrade?: boolean | core.BooleanOut;
    availabilityZone?: string | core.StringOut;
    backupRetentionPeriod?: number | core.NumberOut;
    backupWindow?: string | core.StringOut;
    caCertIdentifier?: string | core.StringOut;
    characterSetName?: string | core.StringOut;
    copyTagsToSnapshot?: boolean | core.BooleanOut;
    customerOwnedIpEnabled?: boolean | core.BooleanOut;
    dbName?: string | core.StringOut;
    dbSubnetGroupName?: string | core.StringOut;
    deleteAutomatedBackups?: boolean | core.BooleanOut;
    deletionProtection?: boolean | core.BooleanOut;
    domain?: string | core.StringOut;
    domainIamRoleName?: string | core.StringOut;
    enabledCloudwatchLogsExports?: core.Array<string> | core.ArrayOut<core.StringOut>;
    engine?: string | core.StringOut;
    engineVersion?: string | core.StringOut;
    finalSnapshotIdentifier?: string | core.StringOut;
    iamDatabaseAuthenticationEnabled?: boolean | core.BooleanOut;
    identifier?: string | core.StringOut;
    identifierPrefix?: string | core.StringOut;
    instanceClass: string | core.StringOut;
    iops?: number | core.NumberOut;
    kmsKeyId?: string | core.StringOut;
    licenseModel?: string | core.StringOut;
    maintenanceWindow?: string | core.StringOut;
    maxAllocatedStorage?: number | core.NumberOut;
    monitoringInterval?: number | core.NumberOut;
    monitoringRoleArn?: string | core.StringOut;
    multiAz?: boolean | core.BooleanOut;
    name?: string | core.StringOut;
    ncharCharacterSetName?: string | core.StringOut;
    networkType?: string | core.StringOut;
    optionGroupName?: string | core.StringOut;
    parameterGroupName?: string | core.StringOut;
    password?: string | core.StringOut;
    performanceInsightsEnabled?: boolean | core.BooleanOut;
    performanceInsightsKmsKeyId?: string | core.StringOut;
    performanceInsightsRetentionPeriod?: number | core.NumberOut;
    port?: number | core.NumberOut;
    publiclyAccessible?: boolean | core.BooleanOut;
    replicaMode?: string | core.StringOut;
    replicateSourceDb?: string | core.StringOut;
    restoreToPointInTime?: RestoreToPointInTime;
    s3Import?: S3Import;
    securityGroupNames?: core.Array<string> | core.ArrayOut<core.StringOut>;
    skipFinalSnapshot?: boolean | core.BooleanOut;
    snapshotIdentifier?: string | core.StringOut;
    storageEncrypted?: boolean | core.BooleanOut;
    storageType?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    timezone?: string | core.StringOut;
    username?: string | core.StringOut;
    vpcSecurityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class DbInstance extends core.Resource<DbInstanceArgs> {
    address: string | core.StringOut;
    allocatedStorage?: number | core.NumberOut;
    allowMajorVersionUpgrade?: boolean | core.BooleanOut;
    applyImmediately?: boolean | core.BooleanOut;
    arn: string | core.StringOut;
    autoMinorVersionUpgrade?: boolean | core.BooleanOut;
    availabilityZone?: string | core.StringOut;
    backupRetentionPeriod?: number | core.NumberOut;
    backupWindow?: string | core.StringOut;
    caCertIdentifier?: string | core.StringOut;
    characterSetName?: string | core.StringOut;
    copyTagsToSnapshot?: boolean | core.BooleanOut;
    customerOwnedIpEnabled?: boolean | core.BooleanOut;
    dbName?: string | core.StringOut;
    dbSubnetGroupName?: string | core.StringOut;
    deleteAutomatedBackups?: boolean | core.BooleanOut;
    deletionProtection?: boolean | core.BooleanOut;
    domain?: string | core.StringOut;
    domainIamRoleName?: string | core.StringOut;
    enabledCloudwatchLogsExports?: core.Array<string> | core.ArrayOut<core.StringOut>;
    endpoint: string | core.StringOut;
    engine?: string | core.StringOut;
    engineVersion?: string | core.StringOut;
    engineVersionActual: string | core.StringOut;
    finalSnapshotIdentifier?: string | core.StringOut;
    hostedZoneId: string | core.StringOut;
    iamDatabaseAuthenticationEnabled?: boolean | core.BooleanOut;
    id: string | core.StringOut;
    identifier?: string | core.StringOut;
    identifierPrefix?: string | core.StringOut;
    instanceClass: string | core.StringOut;
    iops?: number | core.NumberOut;
    kmsKeyId?: string | core.StringOut;
    latestRestorableTime: string | core.StringOut;
    licenseModel?: string | core.StringOut;
    maintenanceWindow?: string | core.StringOut;
    maxAllocatedStorage?: number | core.NumberOut;
    monitoringInterval?: number | core.NumberOut;
    monitoringRoleArn?: string | core.StringOut;
    multiAz?: boolean | core.BooleanOut;
    name?: string | core.StringOut;
    ncharCharacterSetName?: string | core.StringOut;
    networkType?: string | core.StringOut;
    optionGroupName?: string | core.StringOut;
    parameterGroupName?: string | core.StringOut;
    password?: string | core.StringOut;
    performanceInsightsEnabled?: boolean | core.BooleanOut;
    performanceInsightsKmsKeyId?: string | core.StringOut;
    performanceInsightsRetentionPeriod?: number | core.NumberOut;
    port?: number | core.NumberOut;
    publiclyAccessible?: boolean | core.BooleanOut;
    replicaMode?: string | core.StringOut;
    replicas: core.Array<string> | core.ArrayOut<core.StringOut>;
    replicateSourceDb?: string | core.StringOut;
    resourceId: string | core.StringOut;
    restoreToPointInTime?: RestoreToPointInTime;
    s3Import?: S3Import;
    securityGroupNames?: core.Array<string> | core.ArrayOut<core.StringOut>;
    skipFinalSnapshot?: boolean | core.BooleanOut;
    snapshotIdentifier?: string | core.StringOut;
    status: string | core.StringOut;
    storageEncrypted?: boolean | core.BooleanOut;
    storageType?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    timezone?: string | core.StringOut;
    username?: string | core.StringOut;
    vpcSecurityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    constructor(name: string, args?: DbInstanceArgs);
    getNamespace(): string;
}
//# sourceMappingURL=db_instance.d.ts.map