UNPKG

warscript

Version:

A typescript library for Warcraft III using Warpack.

37 lines (36 loc) 1.5 kB
/** @noSelfInFile */ import { Event } from "../../event"; declare const enum TimerPropertyKey { HANDLE = 0, DESTROYED = 1, DESTROY_ON_EXPIRATION = 2, CALLBACK = 3, ARGS_LENGTH = 4 } export declare class Timer implements Destroyable { private readonly [TimerPropertyKey.HANDLE]; private [TimerPropertyKey.DESTROYED]?; private [TimerPropertyKey.DESTROY_ON_EXPIRATION]?; private [TimerPropertyKey.CALLBACK]?; private [TimerPropertyKey.ARGS_LENGTH]?; private constructor(); get handle(): jtimer; start<Args extends any[]>(timeout: number, periodic: boolean, callback: (...args: Args) => void, ...args: Args): void; get elapsed(): number; get remaining(): number; get timeout(): number; pause(): void; resume(): void; destroy(): void; static create(): Timer; static run<Args extends any[]>(callback: (...args: Args) => void, ...args: Args): void; static simple<Args extends any[]>(timeout: number, callback: (...args: Args) => void, ...args: Args): Timer; static periodic<Args extends any[]>(period: number, callback: (this: void, timer: Timer, ...args: Args) => void, ...args: Args): Timer; static counted(period: number, count: number, callback: (this: void, timer: Timer) => void): Timer; static readonly onPeriod: Readonly<Record<number, Event>>; } declare global { function sleep(timeout: number): void; } export declare function delay(this: void, duration: number): Promise<void>; export {};