import { AtomCache, AtomProto, CtxSpy } from '@reatom/framework';
export declare const getColor: ({ proto }: AtomCache) => string;
export declare const getStartCause: (cause: AtomCache) => AtomCache;
export declare const memo: <T>(reducer: (ctx: CtxSpy) => T) => (ctx: CtxSpy, state?: T) => T;
export declare const idxMap: WeakMap<AtomCache<any>, string>;
export declare const getId: (node: AtomCache) => string;
export declare const followingsMap: {
    add(patch: AtomCache): void;
    clear(): void;
    delete(key: AtomCache<any>): boolean;
    forEach(callbackfn: (value: AtomCache<any>[], key: AtomCache<any>, map: Map<AtomCache<any>, AtomCache<any>[]>) => void, thisArg?: any): void;
    get(key: AtomCache<any>): AtomCache<any>[] | undefined;
    has(key: AtomCache<any>): boolean;
    set(key: AtomCache<any>, value: AtomCache<any>[]): /*elided*/ any;
    readonly size: number;
    entries(): MapIterator<[AtomCache<any>, AtomCache<any>[]]>;
    keys(): MapIterator<AtomCache<any>>;
    values(): MapIterator<AtomCache<any>[]>;
    [Symbol.iterator](): MapIterator<[AtomCache<any>, AtomCache<any>[]]>;
    readonly [Symbol.toStringTag]: string;
};
export declare const highlighted: Set<AtomCache<any>>;
export declare const actionsStates: WeakMap<AtomCache<any>, any[]>;
export declare const HISTORY_LENGTH = 10;
export declare const historyStates: {
    add(patch: AtomCache): void;
    delete(key: AtomProto<any>): boolean;
    get(key: AtomProto<any>): AtomCache<any>[] | undefined;
    has(key: AtomProto<any>): boolean;
    set(key: AtomProto<any>, value: AtomCache<any>[]): /*elided*/ any;
    readonly [Symbol.toStringTag]: string;
};
export declare const buttonCss: string;
//# sourceMappingURL=utils.d.ts.map