/**
 * 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.
 */
/**
 * JSON schema for the possible status of a User with respect to Team membership.
 * @export
 * @interface TeamMembershipStatus
 */
export interface TeamMembershipStatus {
    /**
     * The id of the Team.
     * @type {string}
     * @memberof TeamMembershipStatus
     */
    teamId?: string;
    /**
     * The principal id of the user.
     * @type {string}
     * @memberof TeamMembershipStatus
     */
    userId?: string;
    /**
     * true if and only if the user is a member of the team
     * @type {boolean}
     * @memberof TeamMembershipStatus
     */
    isMember?: boolean;
    /**
     * true if and only if  the user has an open invitation to join the team
     * @type {boolean}
     * @memberof TeamMembershipStatus
     */
    hasOpenInvitation?: boolean;
    /**
     * true if and only if  the user has an open request to join the team
     * @type {boolean}
     * @memberof TeamMembershipStatus
     */
    hasOpenRequest?: boolean;
    /**
     * true if and only if the user requesting this status information can join the user to the team
     * @type {boolean}
     * @memberof TeamMembershipStatus
     */
    canJoin?: boolean;
    /**
     * true if and only if  team admin approval is required for the user to join the team
     * @type {boolean}
     * @memberof TeamMembershipStatus
     */
    membershipApprovalRequired?: boolean;
    /**
     * true if and only if  there is at least one unmet access requirement for the user on the team
     * @type {boolean}
     * @memberof TeamMembershipStatus
     */
    hasUnmetAccessRequirement?: boolean;
    /**
     * true if and only if the user can send an email to the team
     * @type {boolean}
     * @memberof TeamMembershipStatus
     */
    canSendEmail?: boolean;
}
/**
 * Check if a given object implements the TeamMembershipStatus interface.
 */
export declare function instanceOfTeamMembershipStatus(value: object): value is TeamMembershipStatus;
export declare function TeamMembershipStatusFromJSON(json: any): TeamMembershipStatus;
export declare function TeamMembershipStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): TeamMembershipStatus;
export declare function TeamMembershipStatusToJSON(json: any): TeamMembershipStatus;
export declare function TeamMembershipStatusToJSONTyped(value?: TeamMembershipStatus | null, ignoreDiscriminator?: boolean): any;
