import * as core from "@terrascript/core";
export interface IdentityInfoArgs extends core.SchemaArgs {
    email?: string | core.StringOut;
    firstName?: string | core.StringOut;
    lastName?: string | core.StringOut;
}
export declare class IdentityInfo extends core.Schema<IdentityInfoArgs> {
    email?: string | core.StringOut;
    firstName?: string | core.StringOut;
    lastName?: string | core.StringOut;
}
export interface PhoneConfigArgs extends core.SchemaArgs {
    afterContactWorkTimeLimit?: number | core.NumberOut;
    autoAccept?: boolean | core.BooleanOut;
    deskPhoneNumber?: string | core.StringOut;
    phoneType: string | core.StringOut;
}
export declare class PhoneConfig extends core.Schema<PhoneConfigArgs> {
    afterContactWorkTimeLimit?: number | core.NumberOut;
    autoAccept?: boolean | core.BooleanOut;
    deskPhoneNumber?: string | core.StringOut;
    phoneType: string | core.StringOut;
}
export interface UserArgs extends core.ResourceArgs {
    directoryUserId?: string | core.StringOut;
    hierarchyGroupId?: string | core.StringOut;
    identityInfo?: IdentityInfo;
    instanceId: string | core.StringOut;
    name: string | core.StringOut;
    password?: string | core.StringOut;
    phoneConfig: PhoneConfig;
    routingProfileId: string | core.StringOut;
    securityProfileIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class User extends core.Resource<UserArgs> {
    arn: string | core.StringOut;
    directoryUserId?: string | core.StringOut;
    hierarchyGroupId?: string | core.StringOut;
    id: string | core.StringOut;
    identityInfo?: IdentityInfo;
    instanceId: string | core.StringOut;
    name: string | core.StringOut;
    password?: string | core.StringOut;
    phoneConfig: PhoneConfig;
    routingProfileId: string | core.StringOut;
    securityProfileIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    userId: string | core.StringOut;
    constructor(name: string, args?: UserArgs);
    getNamespace(): string;
}
//# sourceMappingURL=user.d.ts.map