/**
 * 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.
 */
/**
 * Alias binding of a principal
 * @export
 * @interface PrincipalAlias
 */
export interface PrincipalAlias {
    /**
     * Each alias is assigned a unique id.
     * @type {number}
     * @memberof PrincipalAlias
     */
    aliasId?: number;
    /**
     * The etag of this alias.
     * @type {string}
     * @memberof PrincipalAlias
     */
    etag?: string;
    /**
     * The ID of the principal to bind the alias too.
     * @type {number}
     * @memberof PrincipalAlias
     */
    principalId?: number;
    /**
     * The alias to bind to the principal
     * @type {string}
     * @memberof PrincipalAlias
     */
    alias?: string;
    /**
     * The enumeration of the possible alias types that can be bound to a principal.  Note, these names must match those in AliasEnum. For an OAuthProvider type the matching alias is prefixed with USER_
     * @type {string}
     * @memberof PrincipalAlias
     */
    type?: PrincipalAliasTypeEnum;
}
/**
 * @export
 */
export declare const PrincipalAliasTypeEnum: {
    readonly USER_NAME: "USER_NAME";
    readonly TEAM_NAME: "TEAM_NAME";
    readonly USER_EMAIL: "USER_EMAIL";
    readonly USER_OPEN_ID: "USER_OPEN_ID";
    readonly USER_ORCID: "USER_ORCID";
};
export type PrincipalAliasTypeEnum = typeof PrincipalAliasTypeEnum[keyof typeof PrincipalAliasTypeEnum];
/**
 * Check if a given object implements the PrincipalAlias interface.
 */
export declare function instanceOfPrincipalAlias(value: object): value is PrincipalAlias;
export declare function PrincipalAliasFromJSON(json: any): PrincipalAlias;
export declare function PrincipalAliasFromJSONTyped(json: any, ignoreDiscriminator: boolean): PrincipalAlias;
export declare function PrincipalAliasToJSON(json: any): PrincipalAlias;
export declare function PrincipalAliasToJSONTyped(value?: PrincipalAlias | null, ignoreDiscriminator?: boolean): any;
