export declare const CORPUS_ROOT: string; export type Tier = 1 | 2 | 3 | 4; export interface SampleMeta { tier: Tier; engines: ('java' | 'ts')[]; lexicon?: string; capabilities?: string[]; knownGaps?: string[]; divergenceType?: 'grammar-gap' | 'sample-bug' | 'intentional' | 'unexpected'; bucket?: string; source?: string; tags?: string[]; notes?: string; } export interface Sample { /** Relative to CORPUS_ROOT, e.g. "tier1-equivalence/policies/01-arithmetic-add.aster". */ path: string; /** Absolute path; convenient for shelling out. */ absPath: string; /** Parsed .meta.json contents. */ meta: SampleMeta; /** Convenience: read source on demand. */ readSource(): string; /** If a `.cases.json` exists for this sample, returns parsed object; else null. */ readCases(): CasesGolden | null; } export interface CasesGolden { /** Path (corpus-relative) to the .aster file. */ policy: string; /** Entry function name to invoke. */ entry: string; cases: CaseDef[]; } export interface CaseDef { name: string; input: unknown[]; expectedOutput: unknown; } export interface ListOpts { /** Filter by tier. */ tier?: Tier; /** Filter to samples whose engines list includes this engine. */ engine?: 'java' | 'ts'; /** Filter by tier3 bucket. */ bucket?: string; } /** List every sample under CORPUS_ROOT. */ export declare function listSamples(opts?: ListOpts): Sample[]; /** Convenience: just tier1 samples (the equivalence set). */ export declare function listTier1(): Sample[]; /** Convenience: list samples in a specific tier3 bucket. */ export declare function listTier3Bucket(bucket: string): Sample[]; /** Read one sample by corpus-relative path. Throws if not found. */ export declare function readSample(relPath: string): Sample; //# sourceMappingURL=loader.d.ts.map