import { FinalizationGroup, WeakRef } from "./weakrefs.js";
export interface Exports {
    readonly WeakRef: WeakRef.Constructor;
    readonly FinalizationGroup: FinalizationGroup.Constructor;
    readonly gc?: () => Promise<void> | void;
}
export declare const available: boolean;
export declare function shim(wrapBrokenImplementation?: boolean): Promise<Exports>;
export interface AsyncExports extends Exports {
    readonly shim: typeof shim;
    readonly available: typeof available;
}
export declare function then(onfulfilled?: ((value: AsyncExports) => AsyncExports | PromiseLike<AsyncExports>) | null | undefined, onrejected?: ((reason: any) => PromiseLike<never>) | null | undefined): Promise<AsyncExports>;
