import { AtomCache, Ctx, LinkedListAtom, Atom, Action, BooleanAtom, AtomMut } from '@reatom/framework';
import { JSX } from '@reatom/jsx';
import { FiltersModel } from './reatomFilters';
import { Lines } from './reatomLines';
export type GraphLog = {
    id: string;
    patch: AtomCache<any>;
    style: Atom<JSX.CSSProperties>;
    isVisible: Atom<boolean>;
};
export type TimestampLog = {
    id: string;
    patch: null;
    style: null;
    isVisible: null;
};
export type GraphList = LinkedListAtom<[
    log?: GraphLog
], GraphLog | TimestampLog, 'id'> & {
    snap: Action<[], void>;
    el: AtomMut<null | JSX.Element>;
};
export type GraphModel = {
    list: GraphList;
    filters: FiltersModel;
    lines: Lines;
    isBottom: BooleanAtom;
    redrawLines: Action;
};
export declare const reatomGraph: ({ ctx, clientCtx, }: {
    ctx: Ctx;
    clientCtx: Ctx;
}) => GraphModel;
//# sourceMappingURL=reatomGraph.d.ts.map