/**
 * @template T
 */
export class ResourceEntry<T> {
    /**
     *
     * @type {number}
     */
    resource_id: number;
    /**
     *
     * @type {ResourceDescriptor<T>|null}
     */
    resource_descriptor: ResourceDescriptor<T> | null;
    /**
     * Every time resource is modified - version increases
     * @type {number}
     */
    resource_version: number;
    /**
     * Actual resource handle
     * @type {T|null}
     */
    resource: T | null;
    /**
     * Imported or transient resource.
     * Transient resource only exists in the graph, it will be reclaimed once the execution is done
     * @type {boolean}
     */
    imported: boolean;
    /**
     * Node that created this resource
     * @type {RenderPassNode|null}
     */
    producer: RenderPassNode | null;
    /**
     *
     * @type {RenderPassNode|null}
     */
    last: RenderPassNode | null;
    /**
     * Creates actual resource
     * @param {RenderResourceManager} resources
     */
    create(resources: RenderResourceManager): void;
    /**
     * De-allocated memory for the resource
     * @param {RenderResourceManager} resources
     */
    destroy(resources: RenderResourceManager): void;
    isImported(): boolean;
    isTransient(): boolean;
    toString(): any;
}
//# sourceMappingURL=ResourceEntry.d.ts.map