import { type Disposable } from "./Disposable.js";
export interface ResourceLeak {
    name: string;
    resourceCount: number;
    childScopes: ResourceLeak[];
}
export declare class ResourceScope implements Disposable {
    readonly name: string;
    private readonly stack;
    private readonly children;
    private disposed;
    constructor(name: string);
    use<T extends Disposable>(resource: T): T;
    createChild(name: string): ResourceScope;
    leakSnapshot(): ResourceLeak;
    dispose(): Promise<void>;
}
//# sourceMappingURL=ResourceScope.d.ts.map