import { FunctionTree } from '../'

export interface DebounceFunction extends FunctionTree {
  displayName: string
  (context: { path: string }): Promise<any>
}

export interface Debounce {
  (time: number): DebounceFunction
  shared(): (time: number) => DebounceFunction
}

export const debounce: Debounce

export interface Wait {
  (time: number): FunctionTree
}

export const wait: Wait
