import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
export declare enum IamUpdateUserRequestDto2 {
    True = "true",
    False = "false"
}
/**
 * Indicates if the user is a bot or service user
 */
export type IsBotUser = boolean | IamUpdateUserRequestDto2;
export type IamUpdateUserRequestDto4 = {};
export type IamUpdateUserRequestDtoSourceValue = string | number | boolean | IamUpdateUserRequestDto4 | Array<any>;
/**
 * The status of the user, e.g. whether the user is enabled, has been disabled (eg. by an admin), or is pending (ie: awaiting approval by the user or an admin).
 */
export declare enum IamUpdateUserRequestDtoValue {
    Enabled = "enabled",
    Disabled = "disabled",
    Pending = "pending",
    UnmappedValue = "unmapped_value"
}
/**
 * The status of the user, e.g. whether the user is enabled, has been disabled (eg. by an admin), or is pending (ie: awaiting approval by the user or an admin).
 */
export type IamUpdateUserRequestDtoValueOpen = OpenEnum<typeof IamUpdateUserRequestDtoValue>;
export type IamUpdateUserRequestDtoStatus = {
    sourceValue?: string | number | boolean | IamUpdateUserRequestDto4 | Array<any> | null | undefined;
    /**
     * The status of the user, e.g. whether the user is enabled, has been disabled (eg. by an admin), or is pending (ie: awaiting approval by the user or an admin).
     */
    value?: IamUpdateUserRequestDtoValueOpen | null | undefined;
};
export type IamUpdateUserRequestDto = {
    firstName?: string | null | undefined;
    /**
     * Indicates if the user is a bot or service user
     */
    isBotUser?: boolean | IamUpdateUserRequestDto2 | null | undefined;
    lastName?: string | null | undefined;
    /**
     * User's name which (can be a full name or display name)
     */
    name?: string | null | undefined;
    /**
     * Value to pass through to the provider
     */
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Primary email address of the user. This is generally a work email address.
     */
    primaryEmailAddress?: string | null | undefined;
    status?: IamUpdateUserRequestDtoStatus | null | undefined;
    username?: string | null | undefined;
};
/** @internal */
export declare const IamUpdateUserRequestDto2$outboundSchema: z.ZodNativeEnum<typeof IamUpdateUserRequestDto2>;
/** @internal */
export type IsBotUser$Outbound = boolean | string;
/** @internal */
export declare const IsBotUser$outboundSchema: z.ZodType<IsBotUser$Outbound, z.ZodTypeDef, IsBotUser>;
export declare function isBotUserToJSON(isBotUser: IsBotUser): string;
/** @internal */
export type IamUpdateUserRequestDto4$Outbound = {};
/** @internal */
export declare const IamUpdateUserRequestDto4$outboundSchema: z.ZodType<IamUpdateUserRequestDto4$Outbound, z.ZodTypeDef, IamUpdateUserRequestDto4>;
export declare function iamUpdateUserRequestDto4ToJSON(iamUpdateUserRequestDto4: IamUpdateUserRequestDto4): string;
/** @internal */
export type IamUpdateUserRequestDtoSourceValue$Outbound = string | number | boolean | IamUpdateUserRequestDto4$Outbound | Array<any>;
/** @internal */
export declare const IamUpdateUserRequestDtoSourceValue$outboundSchema: z.ZodType<IamUpdateUserRequestDtoSourceValue$Outbound, z.ZodTypeDef, IamUpdateUserRequestDtoSourceValue>;
export declare function iamUpdateUserRequestDtoSourceValueToJSON(iamUpdateUserRequestDtoSourceValue: IamUpdateUserRequestDtoSourceValue): string;
/** @internal */
export declare const IamUpdateUserRequestDtoValue$outboundSchema: z.ZodType<string, z.ZodTypeDef, IamUpdateUserRequestDtoValueOpen>;
/** @internal */
export type IamUpdateUserRequestDtoStatus$Outbound = {
    source_value?: string | number | boolean | IamUpdateUserRequestDto4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const IamUpdateUserRequestDtoStatus$outboundSchema: z.ZodType<IamUpdateUserRequestDtoStatus$Outbound, z.ZodTypeDef, IamUpdateUserRequestDtoStatus>;
export declare function iamUpdateUserRequestDtoStatusToJSON(iamUpdateUserRequestDtoStatus: IamUpdateUserRequestDtoStatus): string;
/** @internal */
export type IamUpdateUserRequestDto$Outbound = {
    first_name?: string | null | undefined;
    is_bot_user?: boolean | string | null | undefined;
    last_name?: string | null | undefined;
    name?: string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    primary_email_address?: string | null | undefined;
    status?: IamUpdateUserRequestDtoStatus$Outbound | null | undefined;
    username?: string | null | undefined;
};
/** @internal */
export declare const IamUpdateUserRequestDto$outboundSchema: z.ZodType<IamUpdateUserRequestDto$Outbound, z.ZodTypeDef, IamUpdateUserRequestDto>;
export declare function iamUpdateUserRequestDtoToJSON(iamUpdateUserRequestDto: IamUpdateUserRequestDto): string;
//# sourceMappingURL=iamupdateuserrequestdto.d.ts.map