import { Subject } from "../utils/Subject";
type State = {
    data: any;
    error: any;
    loading: boolean;
};
declare class Resource {
    key: string;
    state: Subject<State>;
    lastFetchedAt: number;
    stale: boolean;
    constructor(key: string, fallbackData?: any);
    mutate<T>(fn: (data: T) => T): void;
    fetch(): Subject<State>;
    resolve(): void;
}
export declare class QueryManager {
    resources: Map<string, Resource>;
    constructor();
    private createResourceKey;
    fetch(key: string, options?: Record<string, any>, config?: Record<string, any>): Resource;
}
export {};
//# sourceMappingURL=QueryManager.d.ts.map