import { SequenceAlignments, QueryAlignmentsArgs, SequenceReference } from "@rcsb/rcsb-api-tools/lib/RcsbGraphQL/Types/Borrego/GqlTypes"; import { RcsbQueryGroupAlignmentArguments } from "../../RcsbGraphQL/RcsbQueryAlignment"; import { ExternalTrackBuilderInterface } from "../FeatureTools/ExternalTrackBuilderInterface"; interface CommonAlignmentInterface { externalTrackBuilder?: ExternalTrackBuilderInterface; filterByTargetContains?: string; dynamicDisplay?: boolean; excludeAlignmentLinks?: boolean; fitTitleWidth?: boolean; excludeFirstRowLink?: boolean; } type QueryAlignmentArgsTypes = { [K in keyof QueryAlignmentsArgs]: NonNullable; }; export interface CollectAlignmentInterface extends QueryAlignmentArgsTypes, CommonAlignmentInterface { } export interface CollectGroupAlignmentInterface extends RcsbQueryGroupAlignmentArguments, CommonAlignmentInterface { sequencePrefix: string; from?: SequenceReference; to?: SequenceReference; } export type AlignmentCollectConfig = Partial; export interface AlignmentCollectorInterface { getTargets(): Promise>; getAlignment(): Promise; getAlignmentLength(): Promise; collect(requestConfig: AlignmentCollectConfig, filter?: Array): Promise; } export {};