import { type CreateReporter } from 'cachified';
export type Timings = Record<string, Array<{
    desc?: string;
} & ({
    time: number;
    start?: never;
} | {
    time?: never;
    start: number;
})>>;
export declare function makeTimings(type: string, desc?: string): Timings;
export declare function time<ReturnType>(fn: Promise<ReturnType> | (() => ReturnType | Promise<ReturnType>), { type, desc, timings, }: {
    type: string;
    desc?: string;
    timings?: Timings;
}): Promise<ReturnType>;
export declare function getServerTimeHeader(timings?: Timings): string;
export declare function combineServerTimings(headers1: Headers, headers2: Headers): string;
export declare function cachifiedTimingReporter<Value>(timings?: Timings): undefined | CreateReporter<Value>;
