import { type TmuxSession, type TmuxWindow } from "./tmux.js"; export declare const OSS_PROJECT_MATRIX_SCHEMA_VERSION: 1; export declare const DEFAULT_OSS_MATRIX_LIMIT = 25; export declare const MAX_OSS_MATRIX_LIMIT = 200; export interface OssMatrixCommandOptions { cwd?: string; timeoutMs?: number; } export type OssMatrixCommandRunner = (command: string, args: string[], options?: OssMatrixCommandOptions) => string; export interface OssProjectMatrixOptions { root: string; prefix?: string; limit?: number; taskLimit?: number; prLimit?: number; timeoutMs?: number; includeTasks?: boolean; includePullRequests?: boolean; includeTmux?: boolean; commandRunner?: OssMatrixCommandRunner; tmuxSessions?: TmuxSession[]; tmuxWindows?: TmuxWindow[]; generatedAt?: string; } export interface OssPackageMetadata { path: string | null; name: string | null; version: string | null; private: boolean | null; bins: string[]; } export interface OssGitStatus { is_repo: boolean; branch: string | null; upstream: string | null; ahead: number; behind: number; dirty: boolean; changed_files: number; remote: string | null; github_repo: string | null; } export interface OssTmuxHint { suggested_session: string; sessions: Array<{ name: string; match: "exact" | "prefix"; windows: number; attached: boolean; window_names: string[]; }>; } export interface OssTaskRef { id: string; title: string; status: string | null; priority: string | null; assigned_to: string | null; locked_by: string | null; updated_at: string | null; } export interface OssPullRequestRef { number: number; title: string; state: string; url: string; updated_at: string | null; head_ref: string | null; } export interface OssProjectMatrixRow { name: string; path: string; package: OssPackageMetadata | null; git: OssGitStatus; tmux: OssTmuxHint | null; task_refs: OssTaskRef[]; pr_refs: OssPullRequestRef[]; warnings: string[]; } export interface OssProjectMatrix { schema_version: typeof OSS_PROJECT_MATRIX_SCHEMA_VERSION; kind: "projects.oss_matrix"; generated_at: string; root: string; prefix: string; limit: number; total_candidates: number; returned: number; truncated: boolean; rows: OssProjectMatrixRow[]; } export declare function buildOssProjectMatrix(options: OssProjectMatrixOptions): OssProjectMatrix; //# sourceMappingURL=oss-project-matrix.d.ts.map