import type { AgentRun, Workspace, WorkspaceEvent, WorkspaceLocation } from "../types/workspace.js"; export declare const DEFAULT_CANONICAL_MACHINE_POOL: readonly ["apple03", "machine001", "machine002", "machine003", "machine004", "machine005", "machine006", "machine007", "machine008", "machine009", "machine010", "machine011"]; export interface ProjectActivitySignals { last_opened_at: string | null; latest_activity_at: string | null; event_count: number; run_count: number; activity_weight: number; } export interface ProjectMachineAssignment { project_id: string; slug: string; previous_machine: string | null; canonical_machine: string; pinned: boolean; changed: boolean; activity: ProjectActivitySignals; } export interface ProjectMachineAssignmentPlan { pool: string[]; force: boolean; assignments: ProjectMachineAssignment[]; proposed_map: Record; pool_counts: Record; changed_count: number; preserved_count: number; } export interface ProjectWhereLocation { machine: string | null; path: string | null; label: string; role: "canonical" | "mirror"; } export interface ProjectWhereResult { project: Pick; canonical_machine: string | null; canonical_path: string | null; canonical: { machine: string | null; path: string | null; }; mirrors: Array<{ machine: string; path: string; label: string; }>; locations: ProjectWhereLocation[]; } export declare function projectActivitySignals(project: Workspace, events: WorkspaceEvent[], runs: AgentRun[]): ProjectActivitySignals; export declare function buildProjectMachineAssignmentPlan(projects: Array<{ project: Workspace; activity: ProjectActivitySignals; }>, pool: string[], force?: boolean): ProjectMachineAssignmentPlan; export declare function buildProjectWhereResult(project: Workspace, registered: WorkspaceLocation[]): ProjectWhereResult; //# sourceMappingURL=project-machine-assignment.d.ts.map