/** * Team persistence — disk I/O, serialization, and team listing. */ import type { TeamState, TeamStateSerialized, TeamSummaryInfo } from './team-types.js'; /** * Serialize TeamState for persistence/transmission (Map → array). */ export declare function serializeTeam(team: TeamState, includeMessages?: boolean): TeamStateSerialized; /** * Deserialize a TeamStateSerialized back into a live TeamState. */ export declare function deserializeTeam(data: TeamStateSerialized): TeamState; /** * Persist team state to disk (atomic write: tmp → rename). */ export declare function persistTeam(team: TeamState): void; /** * Debounced persist — coalesces rapid state changes into a single write. * Flushes after 500ms of quiet. */ export declare function persistTeamDebounced(team: TeamState): void; /** * Flush all pending debounced persists immediately. * Needs the activeTeam reference to resolve teams by ID. */ export declare function flushPendingPersists(activeTeam: TeamState | null): void; /** * Load a team from disk by teamId. */ export declare function loadTeam(teamId: string): TeamState | null; /** * List all persisted teams, sorted by createdAt descending (newest first). */ export declare function listTeams(workDir?: string): TeamSummaryInfo[]; /** * Delete a persisted team file. */ export declare function deleteTeam(teamId: string): boolean; export declare function renameTeam(teamId: string, newTitle: string): boolean;