import { type DateTimeFormat, type DateTimeFormatLocaleInternalData, type IntlDateTimeFormatInternal, type IntlDateTimeFormatPart } from "@formatjs/ecma402-abstract";
import Decimal from "decimal.js";
import { type ToLocalTimeImplDetails } from "./ToLocalTime.js";
export interface FormatDateTimePatternImplDetails {
	getInternalSlots(dtf: Intl.DateTimeFormat | DateTimeFormat): IntlDateTimeFormatInternal;
	localeData: Record<string, DateTimeFormatLocaleInternalData>;
	getDefaultTimeZone(): string;
	rangeFormatOptions?: {
		isDifferentDate?: boolean;
	};
}
/**
* https://tc39.es/ecma402/#sec-partitiondatetimepattern
* @param dtf
* @param x
*/
export declare function FormatDateTimePattern(dtf: Intl.DateTimeFormat | DateTimeFormat, patternParts: IntlDateTimeFormatPart[], x: Decimal, { getInternalSlots, localeData, getDefaultTimeZone, tzData, rangeFormatOptions }: FormatDateTimePatternImplDetails & ToLocalTimeImplDetails): IntlDateTimeFormatPart[];
