import { PluginProviders } from '@revolist/revogrid'; import { ProjectedGanttRow } from './layout'; import { TimelineScale } from './timeline'; import { DependencyEntity } from './types'; export interface RowFrame { readonly top: number; readonly height: number; } export type RowSizeMap = Readonly>; type TrimmedRows = Readonly>; /** Read-only SVG overlay responsible for rendering dependency arrows. */ export declare class GanttDependencyLayer { private readonly container; private readonly providers; private readonly root; /** * Create and attach the dependency overlay to the grid host element. * * The layer is intentionally non-interactive in this package version; it * renders finish-to-start links only and lets RevoGrid keep ownership of grid * input and focus. */ constructor(container: HTMLRevoGridElement, providers: PluginProviders); /** Remove all dependency DOM and detach the overlay from the grid host. */ destroy(): void; /** * Render the current dependency set for projected rows. * * Passing `showDependencies = false`, an empty dependency array, or a missing * scale clears the layer without mutating the public dependency data. */ render(options: { readonly scale: TimelineScale | null; readonly dependencies: readonly DependencyEntity[]; readonly rows: readonly ProjectedGanttRow[]; readonly showDependencies: boolean; }): void; private readRowMetrics; private measureRenderedRowHeight; } /** Build content-space row frames for every projected row. */ export declare function createDimensionRowFrames(rowCount: number, rowHeight: number, rowSizes: RowSizeMap, overrides?: ReadonlyMap, rowOrder?: readonly number[], trimmedRows?: TrimmedRows): ReadonlyMap; export {}; //# sourceMappingURL=dependency-layer.d.ts.map