import { RenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/BoxRendererType'; import { Feature, Region } from '@jbrowse/core/util'; import { RenderingContext } from './rendering'; import type { Sample } from '../types'; interface BaseRenderArgs extends RenderArgsDeserialized { samples: Sample[]; rowHeight: number; rowProportion: number; showAllLetters: boolean; mismatchRendering: boolean; statusCallback?: (arg: string) => void; showAsUpperCase: boolean; } /** * Initialize the rendering context for streaming feature processing. * Call this once before processing features. */ export declare function initRenderingContext(ctx: CanvasRenderingContext2D, renderArgs: BaseRenderArgs): { renderingContext: RenderingContext; sampleToRowMap: Map; region: Region; }; /** * Render a single feature to the canvas. Call this for each feature as it streams in. */ export declare function renderFeature(feature: Feature, region: Region, bpPerPx: number, sampleToRowMap: Map, renderingContext: RenderingContext): void; /** * Finalize rendering and build the spatial index. * Call this after all features have been processed. */ export declare function finalizeRendering(renderingContext: RenderingContext, samples: Sample[]): { flatbush: ArrayBufferLike; items: import("./rendering").RenderedBase[]; samples: Sample[]; }; export {};