import type { Temporal } from "@js-temporal/polyfill";
import type { DurationStringOptions, RoundingOptions } from "../types/index.js";
/**
 * Compute the ISO 8601 duration string between two Temporal objects via `.until()` + `.toString()`.
 *
 * Shared by the `diff*AsDuration` functions, which otherwise differ only in how their inputs are
 * validated and constructed.
 *
 * @param start Temporal object supporting `.until()` (PlainDate, PlainDateTime, or ZonedDateTime)
 * @param end the Temporal object to diff against
 * @param largestUnit the duration's largestUnit
 * @param options .until() rounding options and .toString() precision options
 * @returns ISO 8601 duration string
 */
export declare function durationUntilString(start: Temporal.PlainDate, end: Temporal.PlainDate, largestUnit: string, options?: RoundingOptions<Temporal.DateUnit> & DurationStringOptions): string;
export declare function durationUntilString(start: Temporal.PlainDateTime, end: Temporal.PlainDateTime, largestUnit: string, options?: RoundingOptions<Temporal.DateTimeUnit> & DurationStringOptions): string;
export declare function durationUntilString(start: Temporal.ZonedDateTime, end: Temporal.ZonedDateTime, largestUnit: string, options?: RoundingOptions<Temporal.DateTimeUnit> & DurationStringOptions): string;
