/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 * Fields required to create a new user account
 * @export
 * @interface NewUser
 */
export interface NewUser {
    /**
     * User's email
     * @type {string}
     * @memberof NewUser
     */
    email?: string;
    /**
     * User's first name
     * @type {string}
     * @memberof NewUser
     */
    firstName?: string;
    /**
     * User's last name
     * @type {string}
     * @memberof NewUser
     */
    lastName?: string;
    /**
     * A is a unique alias that will identify a user. A userName can only contain letters, numbers, dot (.), dash (-) and underscore (_) and must be at least 3 characters long.
     * @type {string}
     * @memberof NewUser
     */
    userName?: string;
    /**
     * Supported OAuth providers
     * @type {string}
     * @memberof NewUser
     */
    oauthProvider?: NewUserOauthProviderEnum;
    /**
     * When the user is created through an oauth provider, this value identifies the user in the provider.
     * @type {string}
     * @memberof NewUser
     */
    subject?: string;
    /**
     * Encoded signed token containing the information needed to retrieve a membership invitation.
     * @type {string}
     * @memberof NewUser
     */
    encodedMembershipInvtnSignedToken?: string;
}
/**
 * @export
 */
export declare const NewUserOauthProviderEnum: {
    readonly GOOGLE_OAUTH_2_0: "GOOGLE_OAUTH_2_0";
    readonly ORCID: "ORCID";
    readonly ARCUS_BIOSCIENCES: "ARCUS_BIOSCIENCES";
    readonly SAGE_BIONETWORKS: "SAGE_BIONETWORKS";
    readonly NIH_RESEARCHER_AUTH_SERVICE: "NIH_RESEARCHER_AUTH_SERVICE";
};
export type NewUserOauthProviderEnum = typeof NewUserOauthProviderEnum[keyof typeof NewUserOauthProviderEnum];
/**
 * Check if a given object implements the NewUser interface.
 */
export declare function instanceOfNewUser(value: object): value is NewUser;
export declare function NewUserFromJSON(json: any): NewUser;
export declare function NewUserFromJSONTyped(json: any, ignoreDiscriminator: boolean): NewUser;
export declare function NewUserToJSON(json: any): NewUser;
export declare function NewUserToJSONTyped(value?: NewUser | null, ignoreDiscriminator?: boolean): any;
