/** * Annotations as text. * * Layer 7, and pure. `formatHeader` does this for the header and `formatDiagnostics` for problems; * this is the third, and the one a hypnogram or an event list actually needs. * * The clock is built from `onsetTicksFromFirstRecord` by integer division, never from the float * seconds. That is not fussiness: `onsetSecondsFromFirstRecord` is a float64 produced by dividing * an exact tick count by 10,000,000, so an onset written `+1.0000001` can print a millisecond * field that is off by one — and an event list is exactly where someone reads a number off the * screen and types it into something else. * * A NEGATIVE onset is legal and prints as one. EDF+ measures onsets from the header start time * and a recording may begin after its first annotation, so `-00:00:01.500` is a real thing a real * file says. Clamping it to zero would silently move an event. */ import type { EdfAnnotation } from './types.js'; /** * Options for `formatAnnotations`. Truncation always says how much it withheld — a listing that * silently stopped would be indistinguishable from a recording that simply had no more events, * which is the one thing a reader scanning event output cannot afford to guess at. */ export interface FormatAnnotationsOptions { /** Rows to print. Defaults to every annotation; the count of the rest is always stated. */ readonly maxItems?: number; /** Include the `description@@channel` label EDF+ allows. Off by default: most files have none. */ readonly includeChannel?: boolean; } export declare function formatAnnotations(annotations: readonly EdfAnnotation[], options?: FormatAnnotationsOptions): string; //# sourceMappingURL=format-annotations.d.ts.map