export = TeamManager;
/**
 * Read access to a project's teams.
 * Future `forest teams:*` commands (PRD-528/529) should extend this manager
 * with write operations rather than re-implementing the HTTP calls.
 * @param {{ projectId: number | string }} config
 */
declare function TeamManager(config: {
    projectId: number | string;
}): void;
declare class TeamManager {
    /**
     * Read access to a project's teams.
     * Future `forest teams:*` commands (PRD-528/529) should extend this manager
     * with write operations rather than re-implementing the HTTP calls.
     * @param {{ projectId: number | string }} config
     */
    constructor(config: {
        projectId: number | string;
    });
    listForProject: () => Promise<any>;
    /**
     * Create a new team in the project identified by `config.projectId`.
     * @param {string} name
     * @returns {Promise<{ id: string, name: string }>}
     */
    createTeam: (name: string) => Promise<{
        id: string;
        name: string;
    }>;
    /**
     * Delete a team by its id.
     * @param {string|number} teamId
     * @returns {Promise<void>}
     */
    deleteTeam: (teamId: string | number) => Promise<void>;
    /**
     * Copy the whole layout of one team onto another, within the same project.
     * Asynchronous server-side: posts a deployment request, then polls the job
     * until completion.
     * @param {string|number} fromTeamId
     * @param {string|number} toTeamId
     * @param {(code: number) => void} oclifExit
     * @returns {Promise<boolean>} true when the job completes, false on failure
     */
    copyLayout: (fromTeamId: string | number, toTeamId: string | number, oclifExit: (code: number) => void) => Promise<boolean>;
}
//# sourceMappingURL=team-manager.d.ts.map