import { type MemoryBudgetUnit } from './MemoryBudgetUnit.ts';
type ReleaseLease = (id: string) => void;
export type MemoryBudgetLeaseFields = {
    readonly id: string;
    readonly name: string;
    readonly scope: string;
    readonly amount: number;
    readonly unit: MemoryBudgetUnit;
    readonly releaseLease: ReleaseLease;
};
/** Runtime lease against a WarpMemoryPool budget. */
export default class MemoryBudgetLease {
    readonly id: string;
    readonly name: string;
    readonly scope: string;
    readonly amount: number;
    readonly unit: MemoryBudgetUnit;
    private readonly _releaseLease;
    constructor(fields: MemoryBudgetLeaseFields);
    release(): void;
}
export {};
