import type { TokenizeResult } from './types.js'; /** * Per-file aggregate of matrix results, suitable for SARIF emission. * `path` is the source-relative URI that will land in the SARIF location. */ export interface TokenometerFileResult { path: string; results: readonly TokenizeResult[]; } /** * Top-level result envelope passed to SARIF / future formatters. * Modeled as a discriminated wrapper so additional fields (e.g. budget verdicts, * empirical metadata) can be added without breaking existing callers. */ export interface TokenometerResult { files: readonly TokenometerFileResult[]; } export interface ToSarifOptions { toolVersion?: string; } interface SarifLocation { physicalLocation: { artifactLocation: { uri: string; }; }; } interface SarifResultEntry { ruleId: string; level: 'note'; message: { text: string; }; locations: SarifLocation[]; } interface SarifTool { driver: { name: string; version: string; informationUri: string; rules: { id: string; name: string; shortDescription: { text: string; }; }[]; }; } interface SarifRun { tool: SarifTool; results: SarifResultEntry[]; } interface SarifLog { $schema: string; version: string; runs: SarifRun[]; } export declare const toSarif: (result: TokenometerResult, opts?: ToSarifOptions) => SarifLog; export {}; //# sourceMappingURL=format-sarif.d.ts.map