import * as core from "@terrascript/core";
export interface InstancesArgs extends core.SchemaArgs {
    consoleUrl: string | core.StringOut;
    endpoints: core.Array<string> | core.ArrayOut<core.StringOut>;
    ipAddress: string | core.StringOut;
}
export declare class Instances extends core.Schema<InstancesArgs> {
    consoleUrl: string | core.StringOut;
    endpoints: core.Array<string> | core.ArrayOut<core.StringOut>;
    ipAddress: string | core.StringOut;
}
export interface UserArgs extends core.SchemaArgs {
    consoleAccess: boolean | core.BooleanOut;
    groups: core.Array<string> | core.ArrayOut<core.StringOut>;
    username: string | core.StringOut;
}
export declare class User extends core.Schema<UserArgs> {
    consoleAccess: boolean | core.BooleanOut;
    groups: core.Array<string> | core.ArrayOut<core.StringOut>;
    username: string | core.StringOut;
}
export interface EncryptionOptionsArgs extends core.SchemaArgs {
    kmsKeyId: string | core.StringOut;
    useAwsOwnedKey: boolean | core.BooleanOut;
}
export declare class EncryptionOptions extends core.Schema<EncryptionOptionsArgs> {
    kmsKeyId: string | core.StringOut;
    useAwsOwnedKey: boolean | core.BooleanOut;
}
export interface LogsArgs extends core.SchemaArgs {
    audit: string | core.StringOut;
    general: boolean | core.BooleanOut;
}
export declare class Logs extends core.Schema<LogsArgs> {
    audit: string | core.StringOut;
    general: boolean | core.BooleanOut;
}
export interface MaintenanceWindowStartTimeArgs extends core.SchemaArgs {
    dayOfWeek: string | core.StringOut;
    timeOfDay: string | core.StringOut;
    timeZone: string | core.StringOut;
}
export declare class MaintenanceWindowStartTime extends core.Schema<MaintenanceWindowStartTimeArgs> {
    dayOfWeek: string | core.StringOut;
    timeOfDay: string | core.StringOut;
    timeZone: string | core.StringOut;
}
export interface ConfigurationArgs extends core.SchemaArgs {
    id: string | core.StringOut;
    revision: number | core.NumberOut;
}
export declare class Configuration extends core.Schema<ConfigurationArgs> {
    id: string | core.StringOut;
    revision: number | core.NumberOut;
}
export interface LdapServerMetadataArgs extends core.SchemaArgs {
    hosts: core.Array<string> | core.ArrayOut<core.StringOut>;
    roleBase: string | core.StringOut;
    roleName: string | core.StringOut;
    roleSearchMatching: string | core.StringOut;
    roleSearchSubtree: boolean | core.BooleanOut;
    serviceAccountPassword: string | core.StringOut;
    serviceAccountUsername: string | core.StringOut;
    userBase: string | core.StringOut;
    userRoleName: string | core.StringOut;
    userSearchMatching: string | core.StringOut;
    userSearchSubtree: boolean | core.BooleanOut;
}
export declare class LdapServerMetadata extends core.Schema<LdapServerMetadataArgs> {
    hosts: core.Array<string> | core.ArrayOut<core.StringOut>;
    roleBase: string | core.StringOut;
    roleName: string | core.StringOut;
    roleSearchMatching: string | core.StringOut;
    roleSearchSubtree: boolean | core.BooleanOut;
    serviceAccountPassword: string | core.StringOut;
    serviceAccountUsername: string | core.StringOut;
    userBase: string | core.StringOut;
    userRoleName: string | core.StringOut;
    userSearchMatching: string | core.StringOut;
    userSearchSubtree: boolean | core.BooleanOut;
}
export interface DsBrokerArgs {
    brokerId?: string | core.StringOut;
    brokerName?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsBroker extends core.Data<DsBrokerArgs> {
    arn: string | core.StringOut;
    authenticationStrategy: string | core.StringOut;
    autoMinorVersionUpgrade: boolean | core.BooleanOut;
    brokerId?: string | core.StringOut;
    brokerName?: string | core.StringOut;
    configuration: core.Array<Configuration> | core.ArrayOut<Configuration>;
    deploymentMode: string | core.StringOut;
    encryptionOptions: core.Array<EncryptionOptions> | core.ArrayOut<EncryptionOptions>;
    engineType: string | core.StringOut;
    engineVersion: string | core.StringOut;
    hostInstanceType: string | core.StringOut;
    id: string | core.StringOut;
    instances: core.Array<Instances> | core.ArrayOut<Instances>;
    ldapServerMetadata: core.Array<LdapServerMetadata> | core.ArrayOut<LdapServerMetadata>;
    logs: core.Array<Logs> | core.ArrayOut<Logs>;
    maintenanceWindowStartTime: core.Array<MaintenanceWindowStartTime> | core.ArrayOut<MaintenanceWindowStartTime>;
    publiclyAccessible: boolean | core.BooleanOut;
    securityGroups: core.Array<string> | core.ArrayOut<core.StringOut>;
    storageType: string | core.StringOut;
    subnetIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    user: core.Array<User> | core.ArrayOut<User>;
    constructor(name: string, args?: DsBrokerArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_broker.d.ts.map