export interface Window { /** UTC date, YYYY-MM-DD. */ date: string; /** Two-digit UTC hours to read, ascending. */ hours: string[]; /** Window start, inclusive. */ startMs: number; /** Window end, exclusive — so consecutive windows partition rows rather than sharing a boundary. */ endMs: number; } /** * Resolve a window to the hour files that hold it. * * Several spellings, one meaning. The exact ISO interval is precise and nobody composes one * under pressure; an investigator knows "yesterday", "the last two hours", or has a timestamp * pasted from an alert. Translating that by hand is a step where the timezone or the duration * syntax goes wrong, and the resulting empty timeline reads as an absence of evidence rather * than as a mistyped window. * * Resolution errs toward reading more rather than less: a window starting at 04:45 still reads * hour 04, because the evidence between 04:45 and 05:00 lives in that file. Over-reading costs a * few rows the correlation ignores; under-reading reports an absence the capture would have * contradicted. * * `now` is a parameter rather than read from the clock, so the relative forms are testable and a * run can be reproduced. */ export declare function parseWindow(interval: string, now?: number): Window; //# sourceMappingURL=parseWindow.d.ts.map