import { SequenceAnnotations } from "@rcsb/rcsb-api-tools/lib/RcsbGraphQL/Types/Borrego/GqlTypes";
import { RcsbFvRowConfigInterface } from "@rcsb/rcsb-saguaro/lib/RcsbFv/RcsbFvConfig/RcsbFvConfigInterface";
import { AnnotationRequestContext } from "../../../RcsbCollectTools/AnnotationCollector/AnnotationCollectorInterface";
import { BlockFactoryInterface } from "./BlockFactoryInterface";
import { TrackFactoryInterface } from "../RcsbFvTrackFactory/TrackFactoryInterface";
import { BlockManagerInterface } from "./BlockManager/BlockManagerInterface";
import { TrackManagerInterface } from "./BlockManager/TrackManagerInterface";
export declare class AnnotationsBlockFactory implements BlockFactoryInterface<[AnnotationRequestContext, SequenceAnnotations[]], [TrackManagerInterface]> {
    private readonly annotationBlockManager;
    private readonly annotationsBlockData;
    readonly trackFactory: TrackFactoryInterface<[TrackManagerInterface]>;
    readonly trackConfigModifier?: (trackManager: TrackManagerInterface) => Promise<Partial<RcsbFvRowConfigInterface>>;
    constructor(annotationBlockManager: BlockManagerInterface<[AnnotationRequestContext, SequenceAnnotations[]]>, annotationTrackFactory: TrackFactoryInterface<[TrackManagerInterface]>, trackModifier?: (trackManager: TrackManagerInterface) => Promise<Partial<RcsbFvRowConfigInterface>>);
    getBlock(annotationsRequestContext: AnnotationRequestContext, annotations: SequenceAnnotations[]): Promise<RcsbFvRowConfigInterface[]>;
}
