import { ResourceBase } from "../../resource";
import { Value, List } from "../../data-types";
export declare class ConfigurationId {
    Revision: Value<number>;
    Id: Value<string>;
    constructor(properties: ConfigurationId);
}
export declare class TagsEntry {
    Value: Value<string>;
    Key: Value<string>;
    constructor(properties: TagsEntry);
}
export declare class EncryptionOptions {
    KmsKeyId?: Value<string>;
    UseAwsOwnedKey: Value<boolean>;
    constructor(properties: EncryptionOptions);
}
export declare class LogList {
    Audit?: Value<boolean>;
    General?: Value<boolean>;
    constructor(properties: LogList);
}
export declare class MaintenanceWindow {
    DayOfWeek: Value<string>;
    TimeOfDay: Value<string>;
    TimeZone: Value<string>;
    constructor(properties: MaintenanceWindow);
}
export declare class User {
    Username: Value<string>;
    Groups?: List<Value<string>>;
    ConsoleAccess?: Value<boolean>;
    Password: Value<string>;
    constructor(properties: User);
}
export interface BrokerProperties {
    BrokerName: Value<string>;
    Users: List<User>;
    DeploymentMode: Value<string>;
    AutoMinorVersionUpgrade: Value<boolean>;
    MaintenanceWindowStartTime?: MaintenanceWindow;
    PubliclyAccessible: Value<boolean>;
    Logs?: LogList;
    SecurityGroups?: List<Value<string>>;
    StorageType?: Value<string>;
    EngineVersion: Value<string>;
    Configuration?: ConfigurationId;
    HostInstanceType: Value<string>;
    Tags?: List<TagsEntry>;
    EncryptionOptions?: EncryptionOptions;
    SubnetIds?: List<Value<string>>;
    EngineType: Value<string>;
}
export default class Inner_Broker extends ResourceBase<BrokerProperties> {
    static ConfigurationId: typeof ConfigurationId;
    static TagsEntry: typeof TagsEntry;
    static EncryptionOptions: typeof EncryptionOptions;
    static LogList: typeof LogList;
    static MaintenanceWindow: typeof MaintenanceWindow;
    static User: typeof User;
    constructor(properties: BrokerProperties);
}
