/**
 * Copyright 2025 The Artinet Project
 * SPDX-License-Identifier: Apache-2.0
 */
import { core } from "../../types/index.js";
export declare abstract class Manager<T> implements core.Manager<T> {
    private _cache;
    private throwOnSet;
    private storage?;
    constructor(_cache?: Map<string, T>, throwOnSet?: boolean, storage?: core.Manager<T> | undefined);
    get cache(): Map<string, T>;
    /**
     * @deprecated use cache instead
     * @note removing in v0.7
     */
    get data(): Map<string, T>;
    set(id: string, data?: T): Promise<void>;
    get(id: string): Promise<T | undefined>;
    delete(id: string): Promise<void>;
    has(id: string): Promise<boolean>;
    list(): Promise<T[]>;
    search(query: string, filter?: (item: T) => Promise<boolean>): Promise<T[]>;
}
export declare const ResourceManager: typeof Manager;
