declare module '@avocode/cancel-token' { export interface CancelToken { isCancelled(): boolean isDisposed(): boolean throwIfCancelled(): void onCancelled(listener: (reason: Error) => void): () => void onDisposed(listener: () => void): () => void signal: AbortSignal } interface TokenSource { new (): { cancel: (reason?: Error | string) => void dispose: () => void token: CancelToken } (): { cancel: (reason?: Error | string) => void dispose: () => void token: CancelToken } race(tokens: Array): CancelToken fromSignal(signal: AbortSignal): { token: CancelToken, dispose: () => void } empty: CancelToken } const tokenSource: TokenSource export default tokenSource }