/**
 * @template T
 * @abstract
 */
export default class TabixSource<T> extends SingleAxisWindowedSource {
    /**
     * @param {import("../../../spec/data.js").TabixData} params
     * @param {import("../../../view/view.js").default} view
     */
    constructor(params: import("../../../spec/data.js").TabixData, view: import("../../../view/view.js").default);
    params: import("../../../spec/data.js").TabixData;
    /**
     * @param {string} header
     * @protected
     */
    protected _handleHeader(header: string): Promise<void>;
    /**
     * Read a prefix of the Tabix file and decode it as text.
     *
     * @returns {Promise<string>}
     * @protected
     */
    protected _readFilePrefix(): Promise<string>;
    /**
     * @abstract
     * @protected
     * @param {string[]} lines
     * @returns {T[]}
     */
    protected _parseFeatures(lines: string[]): T[];
    #private;
}
import SingleAxisWindowedSource from "./singleAxisWindowedSource.js";
//# sourceMappingURL=tabixSource.d.ts.map