import type { ContextTimed, ContextTimedInput } from '../types.js'; import { PromiseCancellable } from '@matrixai/async-cancellable'; type ContextRemaining = Omit; type ContextAndParameters> = keyof ContextRemaining extends never ? [Partial?, ...P] : [Partial & ContextRemaining, ...P]; declare function setupTimedCancellable, R>(f: (ctx: C, ...params: P) => PromiseLike, lazy: boolean, delay: number, errorTimeoutConstructor: new () => Error, ctx: Partial, args: P): PromiseCancellable; declare function timedCancellable, R>(f: (ctx: C_, ...params: P) => PromiseLike, lazy?: boolean, delay?: number, errorTimeoutConstructor?: new () => Error): (...params: ContextAndParameters) => PromiseCancellable; export default timedCancellable; export { setupTimedCancellable };