import { ABIDecoder } from "../serializer/decoder.js"; import { AnyInt, Int64, Int64Type, UInt32, UInt32Type } from "./integer.js"; import { ABIEncoder } from "../serializer/encoder.js"; import { ABISerializableObject } from "../serializer/serializable.js"; export type TimePointType = TimePoint | TimePointSec | string | Date | AnyInt; interface TimePointConstructor { from(value: TimePointType): TimePointBase; fromInteger(value: AnyInt): TimePointBase; fromDate(value: Date): TimePointBase; fromString(value: string): TimePointBase; fromMilliseconds(value: number): TimePointBase; new (...args: any[]): TimePointBase; } declare class TimePointBase implements ABISerializableObject { static abiName: string; static from(this: T, value: TimePointType): InstanceType; static from(value: TimePointType): unknown; static fromString(this: T, string: string): InstanceType; static fromString(string: string): unknown; static fromDate(this: T, date: Date): InstanceType; static fromDate(date: Date): unknown; static abiDefault(this: T): InstanceType; toABI(encoder: ABIEncoder): void; equals(other: TimePointType): boolean; toMilliseconds(): number; toDate(): Date; toJSON(): string; } export declare class TimePoint extends TimePointBase { static abiName: string; static fromMilliseconds(ms: number): TimePoint; static fromInteger(value: Int64Type): TimePoint; static fromABI(decoder: ABIDecoder): TimePoint; value: Int64; constructor(value: Int64); toString(): string; toMilliseconds(): number; } export declare class TimePointSec extends TimePointBase { static abiName: string; static fromMilliseconds(ms: number): TimePointSec; static fromInteger(value: UInt32Type): TimePointSec; static fromABI(decoder: ABIDecoder): TimePointSec; value: UInt32; constructor(value: UInt32); toString(): string; toMilliseconds(): number; } export declare class BlockTimestamp extends TimePointBase { static abiName: string; static fromMilliseconds(ms: number): BlockTimestamp; static fromInteger(value: UInt32Type): BlockTimestamp; static fromABI(decoder: ABIDecoder): BlockTimestamp; value: UInt32; constructor(value: UInt32); toString(): string; toMilliseconds(): number; } export {}; //# sourceMappingURL=time.d.ts.map