/**
 * @file Spec clause 8 — Temporal.Instant Objects. Implements the class,
 *   constructor, and the validity predicate. Pass 1 of the rollout; statics
 *   (`from`, `fromEpochMilliseconds`, `compare`) and prototype operations
 *   (`epochMilliseconds`, `toString`, arithmetic) follow in pass 2. Spec:
 *   https://tc39.es/proposal-temporal/#sec-temporal-instant-objects Ref:
 *   js-temporal/temporal-polyfill `lib/instant.ts` Operations implemented (✓)
 *   and intentionally absent (✗), in section order so a reader can scan against
 *   the spec: ✓ 8.1.1 Temporal.Instant ( epochNanoseconds ) — constructor ✓
 *   8.1.1.x IsValidEpochNanoseconds ( epochNanoseconds ) — abstract op ✓ 8.5.6
 *   get Temporal.Instant.prototype.epochNanoseconds — prototype ✗ 8.4.2
 *   Temporal.Instant.from ( item ) — pass 2 ✗ 8.4.3
 *   Temporal.Instant.fromEpochMilliseconds ( ms ) — pass 2 ✗ 8.4.7
 *   Temporal.Instant.compare ( one, two ) — pass 2 ✗ 8.5.5 get
 *   Temporal.Instant.prototype.epochMilliseconds — pass 2 ✗ 8.5.13
 *   Temporal.Instant.prototype.toString ( [ options ] ) — pass 2 ✗ 8.5.x add /
 *   subtract / until / since / round / equals / etc. — later.
 */
/**
 * Spec's IsValidEpochNanoseconds. Exported for testability.
 */
export declare function isValidEpochNanoseconds(epochNanoseconds: bigint): boolean;
/**
 * Temporal.Instant — an exact, nanosecond-resolution point on the UTC timeline.
 * Backed by a `bigint` `[[Nanoseconds]]` slot in the range ±8.64e21 (±100
 * million days from the Unix epoch).
 *
 * Construct via `new Temporal.Instant(epochNanoseconds)` or, in pass 2, the
 * various `from*` statics.
 */
export declare class Instant {
    readonly epochNanoseconds: bigint;
    constructor(epochNanoseconds: bigint | number | string);
}
export declare function epochNanosecondsImpl(this: Instant): bigint;
/**
 * One-line description of an arbitrary value for error messages.
 */
export declare function describe(value: unknown): string;
