import type { TemperatureReading } from "./types.js"; /** Options for {@link analyzePitStability}. */ export interface PitStabilityOptions { /** Desired pit temperature in Fahrenheit. */ readonly targetF: number; /** Allowed degrees above or below target. */ readonly bandF?: number; } /** A continuous out-of-band period. */ export interface PitStabilityExcursion { readonly direction: "high" | "low"; readonly startedAt: Date; readonly endedAt: Date; readonly durationMinutes: number; readonly peakTempF: number; } /** Time-in-band statistics for a pit temperature series. */ export interface PitStabilityResult { readonly targetF: number; readonly bandF: number; readonly lowLimitF: number; readonly highLimitF: number; readonly startedAt: Date | null; readonly endedAt: Date | null; readonly durationMinutes: number; readonly sampleCount: number; readonly inBandMinutes: number; readonly highMinutes: number; readonly lowMinutes: number; readonly inBandPercent: number; readonly averageTempF: number | null; readonly minTempF: number | null; readonly maxTempF: number | null; readonly longestExcursion: PitStabilityExcursion | null; } /** * Analyze how tightly pit readings held a target temperature. * * Readings are sorted chronologically before analysis. Each sample owns the time * until the next sample, which matches how archive charts are usually read. */ export declare function analyzePitStability(readings: TemperatureReading[], options: PitStabilityOptions): PitStabilityResult; //# sourceMappingURL=stability.d.ts.map