import type { DefaultElements, MetaSysProps, MetaLinkProps, MakeRequest } from '../common-types';
export type TeamProps = {
    /**
     * System metadata
     */
    sys: MetaSysProps & {
        memberCount: number;
        organization: {
            sys: MetaLinkProps;
        };
    };
    /**
     * Name of the team
     */
    name: string;
    /**
     * Description of the team
     */
    description: string;
};
export type CreateTeamProps = Omit<TeamProps, 'sys'>;
export interface Team extends TeamProps, DefaultElements<TeamProps> {
    /**
     * Deletes this object on the server.
     * @returns Promise for the deletion. It contains no data, but the Promise error case should be handled.
     * @example ```javascript
     * const contentful = require('contentful-management')
     *
     * const client = contentful.createClient({
     *   accessToken: '<content_management_api_key>'
     * })
     *
     * client.getOrganization('organization_id')
     * .then(org => org.getOrganizationMembership('organizationMembership_id'))
     * .then((team) => {
     *  team.delete();
     * })
     * .catch(console.error)
     * ```
     */
    delete(): Promise<void>;
    /**
     * Sends an update to the server with any changes made to the object's properties
     * @returns Object returned from the server with updated changes.
     * @example ```javascript
     * const contentful = require('contentful-management')
     *
     * const client = contentful.createClient({
     *   accessToken: '<content_management_api_key>'
     * })
     *
     * client.getOrganization('organization_id')
     * .then(org => org.getTeam('team_id'))
     * .then((team) => {
     *  team.description = 'new description';
     *  team.update();
     * })
     * .catch(console.error)
     * ```
     */
    update(): Promise<Team>;
}
/**
 * @internal
 * @param makeRequest - function to make requests via an adapter
 * @param data - Raw team data
 * @returns Wrapped team data
 */
export declare function wrapTeam(makeRequest: MakeRequest, data: TeamProps): Team;
/**
 * @internal
 */
export declare const wrapTeamCollection: (makeRequest: MakeRequest, data: import("..").CollectionProp<TeamProps>) => import("..").Collection<Team, TeamProps>;
