import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface TeamConfig extends cdktf.TerraformMetaArguments {
    /**
    * Adds a default maintainer to the team. Adds the creating user to the team when 'true'.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/github/r/team#create_default_maintainer Team#create_default_maintainer}
    */
    readonly createDefaultMaintainer?: boolean | cdktf.IResolvable;
    /**
    * A description of the team.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/github/r/team#description Team#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/github/r/team#id Team#id}
    *
    * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
    * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
    */
    readonly id?: string;
    /**
    * The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise Server.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/github/r/team#ldap_dn Team#ldap_dn}
    */
    readonly ldapDn?: string;
    /**
    * The name of the team.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/github/r/team#name Team#name}
    */
    readonly name: string;
    /**
    * The ID of the parent team, if this is a nested team.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/github/r/team#parent_team_id Team#parent_team_id}
    */
    readonly parentTeamId?: number;
    /**
    * The level of privacy for the team. Must be one of 'secret' or 'closed'.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/github/r/team#privacy Team#privacy}
    */
    readonly privacy?: string;
}
/**
* Represents a {@link https://www.terraform.io/docs/providers/github/r/team github_team}
*/
export declare class Team extends cdktf.TerraformResource {
    static readonly tfResourceType = "github_team";
    /**
    * Create a new {@link https://www.terraform.io/docs/providers/github/r/team github_team} Resource
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options TeamConfig
    */
    constructor(scope: Construct, id: string, config: TeamConfig);
    private _createDefaultMaintainer?;
    get createDefaultMaintainer(): boolean | cdktf.IResolvable;
    set createDefaultMaintainer(value: boolean | cdktf.IResolvable);
    resetCreateDefaultMaintainer(): void;
    get createDefaultMaintainerInput(): boolean | cdktf.IResolvable | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    get etag(): string;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _ldapDn?;
    get ldapDn(): string;
    set ldapDn(value: string);
    resetLdapDn(): void;
    get ldapDnInput(): string | undefined;
    get membersCount(): number;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    get nodeId(): string;
    private _parentTeamId?;
    get parentTeamId(): number;
    set parentTeamId(value: number);
    resetParentTeamId(): void;
    get parentTeamIdInput(): number | undefined;
    private _privacy?;
    get privacy(): string;
    set privacy(value: string);
    resetPrivacy(): void;
    get privacyInput(): string | undefined;
    get slug(): string;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
}
