import type { Nullable } from "@thi.ng/api";
import type { DegreeType, Edge, IGraph } from "./api.js";
export declare class AdjacencyList implements IGraph<number> {
    adjacency: number[][];
    indegree: number[];
    protected numE: number;
    protected numV: number;
    constructor(edges?: Iterable<Edge>);
    numEdges(): number;
    numVertices(): number;
    vertices(): Generator<number, void, unknown>;
    edges(): Generator<Edge, void, unknown>;
    addVertex(id: number): void;
    removeVertex(id: number): boolean;
    hasVertex(id: number): boolean;
    addEdge(from: number, to: number): boolean;
    removeEdge(from: number, to: number): boolean;
    hasEdge(from: number, to: number): boolean;
    degree(id: number, type?: DegreeType): number;
    neighbors(id: number): Iterable<number>;
    invert(): AdjacencyList;
    toDot(ids?: string[]): string;
    toString(): string;
    protected ensureVertexData(id: number): number[];
}
export declare const defAdjList: (edges?: Iterable<Edge>) => AdjacencyList;
export declare const adjListFromAdjacency: (src: Nullable<number[]>[]) => AdjacencyList;
//# sourceMappingURL=list.d.ts.map