interface AbortSignal { readonly aborted: boolean; addEventListener(type: 'abort', listener: () => void, options?: { once?: boolean; }): void; removeEventListener(type: 'abort', listener: () => void): void; } interface Options { signal?: AbortSignal; } interface ClearablePromise extends Promise { clear(): void; } interface Delay { (milliseconds: number, options?: Options): ClearablePromise; (milliseconds: number, options?: Options & { value: T; }): ClearablePromise; reject?: (milliseconds: number, options?: Options & { value?: unknown; }) => ClearablePromise; createWithTimers?: (timers: { clearTimeout: typeof clearTimeout; setTimeout: typeof setTimeout; }) => Delay; } export declare const createDelay: ({ clearTimeout: defaultClear, setTimeout: set, willResolve }: any) => (ms: number, { value, signal }?: any) => any; export declare const delay: Delay; export {};