export declare const PROPOSAL_STATUSES: readonly ["phase-0", "phase-1", "phase-2", "phase-3", "phase-4", "phase-5", "finished", "inactive"]; export type ProposalStatus = (typeof PROPOSAL_STATUSES)[number]; export interface Proposal { /** Proposal display name, e.g. `Threads`, `Garbage collection`. */ name: string; /** Lifecycle status / phase. */ status: ProposalStatus; /** Numeric phase 0–5 for active/finished proposals; null otherwise. */ phase: number | null; /** Champion(s) as written, e.g. `Andreas Rossberg`. */ champion: string; /** Resolved proposal URL (repo / design doc), or null if unlinked. */ url: string | null; /** For finished proposals: affected specs, e.g. `["core", "js-api"]`. */ affected_specs: string[]; /** For finished proposals: spec version it landed in, e.g. `3.0`. */ spec_version: string | null; } /** Parse README.md (active proposals across phase headings). */ export declare function parseActiveProposals(markdown: string): Proposal[]; /** Parse finished-proposals.md (extra affected-specs + version columns). */ export declare function parseFinishedProposals(markdown: string): Proposal[]; /** Parse inactive-proposals.md. */ export declare function parseInactiveProposals(markdown: string): Proposal[]; /** Parse all three files into one deduplicated, sorted list. */ export declare function parseAllProposals(files: { readme: string; finished: string; inactive: string; }): Proposal[];