/**
 * 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.
 */
/**
 * Request to create an account, validated via OAuth
 * @export
 * @interface OAuthAccountCreationRequest
 */
export interface OAuthAccountCreationRequest {
    /**
     * Supported OAuth providers
     * @type {string}
     * @memberof OAuthAccountCreationRequest
     */
    provider?: OAuthAccountCreationRequestProviderEnum;
    /**
     * The authorization code passed with the redirectUrl after successful user authentication from a 3rd party OAuth provider.  This code is used by Synapse to lookup the user's information from the OAuthProvider.
     * @type {string}
     * @memberof OAuthAccountCreationRequest
     */
    authenticationCode?: string;
    /**
     * This must be the same redirect URL used to in the first step.  This parameter is required by Google but not by all oauth providers.
     * @type {string}
     * @memberof OAuthAccountCreationRequest
     */
    redirectUrl?: string;
    /**
     * The requested user name for the new account.
     * @type {string}
     * @memberof OAuthAccountCreationRequest
     */
    userName?: string;
}
/**
 * @export
 */
export declare const OAuthAccountCreationRequestProviderEnum: {
    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 OAuthAccountCreationRequestProviderEnum = typeof OAuthAccountCreationRequestProviderEnum[keyof typeof OAuthAccountCreationRequestProviderEnum];
/**
 * Check if a given object implements the OAuthAccountCreationRequest interface.
 */
export declare function instanceOfOAuthAccountCreationRequest(value: object): value is OAuthAccountCreationRequest;
export declare function OAuthAccountCreationRequestFromJSON(json: any): OAuthAccountCreationRequest;
export declare function OAuthAccountCreationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): OAuthAccountCreationRequest;
export declare function OAuthAccountCreationRequestToJSON(json: any): OAuthAccountCreationRequest;
export declare function OAuthAccountCreationRequestToJSONTyped(value?: OAuthAccountCreationRequest | null, ignoreDiscriminator?: boolean): any;
