/** Safely dispose a disposable. */
export declare function dispose(value: Disposable): void;
/** Is an unknown value a disposable object? */
export declare function isDisposable(v: unknown): v is Disposable;
/**
 * Version of `Map` that is disposable.
 * - If items are `Disposable` they are disposed when they're deleted from the map.
 * - Set itself is `Disposable` to delete (and dispose) all items when the map itself is disposed.
 */
export declare class DisposableMap<K, T> extends Map<K, T> implements Disposable {
    delete(key: K): boolean;
    [Symbol.dispose](): void;
}
/**
 * Version of `Set` that is disposable.
 * - If items are `Disposable` they are disposed when they're deleted from the set.
 * - Set itself is `Disposable` to delete (and dispose) all items when the set itself is disposed.
 */
export declare class DisposableSet<T> extends Set<T> implements Disposable {
    delete(item: T): boolean;
    [Symbol.dispose](): void;
}
