/**
 * Well-known `Symbol.dispose`. Resolves to the native well-known symbol when
 * the runtime ships the explicit resource management proposal; otherwise falls
 * back to `Symbol.for('Symbol.dispose')`, the same registry symbol the
 * `core-js-pure` ponyfill uses, so `DisposableStack#use` finds the method.
 *
 * Consumers should key dispose methods on this constant —
 * `class Foo { [disposeSymbol]() {} }` — rather than `Symbol.dispose`, so the
 * class works on runtimes without the proposal.
 */
export declare const disposeSymbol: typeof Symbol.dispose;
/**
 * Well-known `Symbol.asyncDispose`. See {@link disposeSymbol} for the
 * native/fallback resolution rules.
 */
export declare const asyncDisposeSymbol: typeof Symbol.asyncDispose;
/**
 * Spec-compliant `DisposableStack`. Prefers the platform's native class when
 * present; falls back to the `core-js-pure` ponyfill otherwise.
 */
export declare const DisposableStack: typeof globalThis.DisposableStack;
/**
 * Spec-compliant `AsyncDisposableStack`. Prefers the platform's native class
 * when present; falls back to the `core-js-pure` ponyfill otherwise.
 */
export declare const AsyncDisposableStack: typeof globalThis.AsyncDisposableStack;
/**
 * Unwraps a `SuppressedError` chain (as produced by `DisposableStack.dispose()`
 * when multiple disposers throw) into a flat list, outermost failure first.
 * Returns `[error]` unchanged if it isn't a `SuppressedError`.
 */
export declare function unwrapSuppressedErrors(error: unknown): unknown[];