import type { SprintClaim, GolfScorecard, SlopeEvent } from './types.js'; import type { CommonIssuesFile } from './briefing.js'; import type { SprintRegistry } from './registry.js'; /** Live agent/IDE session — distinct from SessionEntry (journal-style briefing entries) */ export interface SlopeSession { session_id: string; role: 'primary' | 'secondary' | 'observer'; ide: string; worktree_path?: string; branch?: string; started_at: string; last_heartbeat_at: string; metadata?: Record; agent_role?: string; swarm_id?: string; } export type StoreErrorCode = 'SESSION_CONFLICT' | 'CLAIM_EXISTS' | 'NOT_FOUND' | 'STORE_UNAVAILABLE'; export declare class SlopeStoreError extends Error { code: StoreErrorCode; constructor(code: StoreErrorCode, message: string); } export interface SlopeStore extends SprintRegistry { registerSession(session: Omit): Promise; removeSession(sessionId: string): Promise; getActiveSessions(): Promise; getSessionsBySwarm(swarmId: string): Promise; updateHeartbeat(sessionId: string): Promise; cleanStaleSessions(maxAgeMs: number): Promise; getActiveClaims(sprintNumber?: number): Promise; saveScorecard(card: GolfScorecard): Promise; listScorecards(filter?: { minSprint?: number; maxSprint?: number; }): Promise; loadCommonIssues(): Promise; saveCommonIssues(issues: CommonIssuesFile): Promise; insertEvent(event: Omit): Promise; getEventsBySession(sessionId: string): Promise; getEventsBySprint(sprintNumber: number): Promise; getEventsByTicket(ticketKey: string): Promise; close(): void; } //# sourceMappingURL=store.d.ts.map