export interface TrackedResource {
    readonly id: string;
    readonly type: string;
    readonly disposed: boolean;
}
export interface ResourceLeakReport {
    readonly total: number;
    readonly leaked: number;
    readonly resources: readonly TrackedResource[];
    readonly leaks: readonly TrackedResource[];
}
export declare class ResourceTracker {
    private readonly resources;
    track(id: string, type: string): void;
    dispose(id: string): void;
    report(): ResourceLeakReport;
    assertNoLeaks(): void;
}
export declare class ResourceLeakError extends Error {
    readonly report: ResourceLeakReport;
    constructor(message: string, report: ResourceLeakReport);
}
//# sourceMappingURL=ResourceTracker.d.ts.map