import { type Action, type Link, type Resolver, type Graph } from './types.js'; /** * Takes a `Graph` and returns a flat array of links by performing a topographical sort and * filter. For example, this graph * ``` * ┌─ e ─ g ─┐ * ┌─ c ─ d ─┤ ├─ o(HEAD) * a ─ b ─┤ └─── f ───┘ * └─ h ─ i(HEAD) * ``` * might be transformed to this sequence * ``` * [a, b, c, d, e, f, g, h, i] * ``` * * The logic for merging concurrent branches is captured in a `resolver` function provided by the * caller. A resolver takes the graph as an argument, and returns two functions: * - `sort` is a comparator function that indicates how concurrent branches are to be ordered. * - `filter` is a predicate function that indicates which links to include in the resulting * sequence. */ export declare const getSequence: (graph: Graph, resolver?: Resolver) => { isInvalid: boolean; hash: import("@localfirst/crypto").Hash; body: import("./types.js").LinkBody; }[]; export declare const baseResolver: Resolver; export declare const noFilter: (_: Link) => boolean; //# sourceMappingURL=getSequence.d.ts.map