import type { TeamConfig, TeamMember, TeamTask, DevPhase, TeamRole } from '@levelcode/common/types/team-config';
import type { TeamProtocolMessage } from '@levelcode/common/types/team-protocol';
import type { TeamSummary } from '@levelcode/common/utils/team-discovery';
import type { PresetConfig } from '@levelcode/common/utils/team-presets';
import type { RunOptions, LevelCodeClientOptions } from './run';
export type CreateTeamOptions = {
    description?: string;
    phase?: DevPhase;
    preset?: string;
    members?: Array<{
        name: string;
        role: TeamRole;
        agentType: string;
        model: string;
        cwd?: string;
    }>;
    settings?: {
        maxMembers?: number;
        autoAssign?: boolean;
    };
};
export type RunWithTeamOptions = RunOptions & LevelCodeClientOptions & {
    teamName: string;
    memberName: string;
    role: TeamRole;
};
export type TeamStatus = {
    config: TeamConfig;
    tasks: TeamTask[];
    memberCount: number;
};
/**
 * Creates a new team with the given name and options.
 * If a preset is specified, uses its member/settings defaults.
 */
export declare function sdkCreateTeam(name: string, leadAgentId: string, options?: CreateTeamOptions): TeamConfig;
/**
 * Deletes a team by name and removes all associated data.
 */
export declare function sdkDeleteTeam(name: string): void;
/**
 * Gets the full status of a team including config and tasks.
 */
export declare function sdkGetTeamStatus(name: string): TeamStatus;
/**
 * Lists all teams with summary information.
 */
export declare function sdkListTeams(): TeamSummary[];
export type { TeamConfig, TeamMember, TeamTask, DevPhase, TeamRole, TeamProtocolMessage, TeamSummary, PresetConfig, };
