import { Edge, Table, TablePrimary } from '../lineage';
import { InsertQueryVisitor, InsertRelation, QueryRelation, TableRelation } from './insert-query.visitor';
export declare class LineageVisitor<TableData, ColumnData> extends InsertQueryVisitor<void> {
    tables: Array<{
        tablePrimary?: TablePrimary;
        table: Table<TableData, ColumnData>;
    }>;
    edges: Edge[];
    constructor();
    protected defaultResult(): void;
    aggregateResult(_aggregate: void, _nextResult: void): void;
    onColumnReference(tableId: string, columnId?: string): void;
    onRelation(relation: TableRelation | QueryRelation | InsertRelation, alias?: string): void;
}
