/**
 * 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 Team POJO
 * @export
 * @interface Team
 */
export interface Team {
    /**
     * The id of the Team.
     * @type {string}
     * @memberof Team
     */
    id?: string;
    /**
     * The name of the Team.
     * @type {string}
     * @memberof Team
     */
    name?: string;
    /**
     * A short description of this Team.
     * @type {string}
     * @memberof Team
     */
    description?: string;
    /**
     * fileHandleId for icon image of the Team
     * @type {string}
     * @memberof Team
     */
    icon?: string;
    /**
     * true for teams which members can join without an invitation or approval. When this is true, canRequestMembership must be false or empty.
     * @type {boolean}
     * @memberof Team
     */
    canPublicJoin?: boolean;
    /**
     * true for teams where users can create a membership request to join. When this is true, canPublicJoin must be false or empty.
     * @type {boolean}
     * @memberof Team
     */
    canRequestMembership?: boolean;
    /**
     * Synapse employs an Optimistic Concurrency Control (OCC) scheme to handle concurrent updates. Since the E-Tag changes every time a Team is updated it is used to detect when a client's current representation of a Team is out-of-date.
     * @type {string}
     * @memberof Team
     */
    etag?: string;
    /**
     * The date this Team was created.
     * @type {string}
     * @memberof Team
     */
    createdOn?: string;
    /**
     * The date this Team was last modified.
     * @type {string}
     * @memberof Team
     */
    modifiedOn?: string;
    /**
     * The ID of the user that created this Team.
     * @type {string}
     * @memberof Team
     */
    createdBy?: string;
    /**
     * The ID of the user that last modified this Team.
     * @type {string}
     * @memberof Team
     */
    modifiedBy?: string;
}
/**
 * Check if a given object implements the Team interface.
 */
export declare function instanceOfTeam(value: object): value is Team;
export declare function TeamFromJSON(json: any): Team;
export declare function TeamFromJSONTyped(json: any, ignoreDiscriminator: boolean): Team;
export declare function TeamToJSON(json: any): Team;
export declare function TeamToJSONTyped(value?: Team | null, ignoreDiscriminator?: boolean): any;
