OverviewFilesCommitsIssuesDocsReleasesPeers

hyper-booking / node_modules / bare-timers / index.d.ts

35 lines · typescript ref:
interface Task {
  ref(): this
  unref(): this
  hasRef(): boolean
}

export interface Timeout extends Task {
  refresh(): this
}

export interface Immediate extends Task {}

export function setTimeout<T extends unknown[]>(
  callback: (...args: T) => unknown,
  delay: number,
  ...args: T
): Timeout

export function clearTimeout(timer: Timeout): void

export function setInterval<T extends unknown[]>(
  callback: (...args: T) => unknown,
  delay: number,
  ...args: T
): Timeout

export function clearInterval(timer: Timeout): void

export function setImmediate<T extends unknown[]>(
  callback: (...args: T) => unknown,
  ...args: T
): Immediate

export function clearImmediate(immediate: Immediate): void