export type CancellationSubscriber = (err: Error) => void;
export type Unsubscribe = () => void;
export interface CancellationToken {
    subscribe(subscriber: CancellationSubscriber): Unsubscribe;
}
export declare class CancellationError extends Error {
    readonly name = "CancellationError";
    readonly message = "The operation was cancelled";
}
export declare class CancellationTokenSource implements CancellationToken {
    private cancellation;
    private subscribers;
    subscribe(subscriber: CancellationSubscriber): () => void;
    cancel(err?: Error): void;
}
