import type { Position, ExamType, ProgramTag, ShengkaoCoverage } from "./codes.js";
export type IndexMeta = {
    version: string;
    built_at: string;
    years: number[];
    exams: ExamType[];
    total_positions: number;
    per_year: Record<number, number>;
    shengkao_coverage?: Record<string, ShengkaoCoverage>;
};
export declare function loadMeta(): IndexMeta;
export declare function latestYear(): number;
/** 载入某年份分片的全部岗位(懒加载+缓存)。年份不存在返回空数组。 */
export declare function loadYear(year: number): Position[];
/** 解析查询年份：显式 --year 或默认最新年份。 */
export declare function resolveYear(flagYear?: string | number): number;
export declare function availableYears(): number[];
export type IndexFilter = {
    year?: number;
    exam?: ExamType;
    education?: string;
    major?: string;
    political?: string;
    province?: string;
    dept?: string;
    inst_type?: string;
    grassroots?: string;
    exam_category?: string;
    program?: ProgramTag;
};
export declare function filterPositions(positions: Position[], f: IndexFilter): Position[];
