/** * Divides the domain into windows and loads the data for one or two consecutive windows * that cover the visible interval. * * @abstract */ export default class SingleAxisWindowedSource extends SingleAxisLazySource { /** * @type {{windowSize?: number | import("../../../spec/parameter.js").ExprRef}} * @protected */ protected params: { windowSize?: number | import("../../../spec/parameter.js").ExprRef; }; /** * @param {import("../../../spec/data.js").DebouncedData} debounceParams * @protected */ protected setupDebouncing(debounceParams: import("../../../spec/data.js").DebouncedData): void; /** * Listen to the domain change event and update data when the covered windows change. * * @param {number[]} domain Linearized domain */ onDomainChanged(domain: number[]): void; /** * Listen to the domain change event and update data when the covered windows change. * * @param {number[]} interval linearized domain * @protected */ protected loadInterval(interval: number[]): Promise; /** * @protected */ protected reloadLastDomain(): void; /** * Splits the interval into discrete chromosomal intervals – one for each chromosome – * and loads the data for each of them. Handles abort signals and errors. * * @param {number[]} interval * @param {(discreteInteval: import("@genome-spy/core/genome/genome.js").DiscreteChromosomeInterval, signal: AbortSignal) => Promise} loader * @return {Promise} * @template T * @protected */ protected discretizeAndLoad(interval: number[], loader: (discreteInteval: import("@genome-spy/core/genome/genome.js").DiscreteChromosomeInterval, signal: AbortSignal) => Promise): Promise; /** * * @param {number[]} interval Domain * @param {number} windowSize * @param {function(number[]):void} callback * @protected */ protected callIfWindowsChanged(interval: number[], windowSize: number, callback: (arg0: number[]) => void): void; #private; } import SingleAxisLazySource from "./singleAxisLazySource.js"; //# sourceMappingURL=singleAxisWindowedSource.d.ts.map