import { PfvManagerFactoryConfigInterface, PfvManagerInterface, PfvManagerFactoryInterface } from "../PfvManagerFactoryInterface";
import { RcsbFvAdditionalConfig, RcsbFvModulePublicInterface } from "@rcsb/rcsb-saguaro-app/lib/RcsbFvWeb/RcsbFvModule/RcsbFvModuleInterface";
import { SequenceAlignments } from "@rcsb/rcsb-api-tools/lib/RcsbGraphQL/Types/Borrego/GqlTypes";
import { DataContainer } from "../../../../Utils/DataContainer";
import { ActionMethods } from "@rcsb/rcsb-saguaro-app/lib/RcsbFvUI/Helper/ActionMethods";
export interface MsaPfvManagerInterface<T extends any[]> {
    id: string;
    alignmentResponseContainer: DataContainer<SequenceAlignments>;
    pfvArgs: T;
    buildMsaAlignmentFv(...args: [string, ...T, RcsbFvAdditionalConfig & ActionMethods.FvChangeConfigInterface]): Promise<RcsbFvModulePublicInterface>;
}
type MsaPfvManagerInterType<T extends any[]> = MsaPfvManagerInterface<T> & PfvManagerFactoryConfigInterface<{
    context: {
        id: string;
    };
}>;
export declare class MsaPfvManagerFactory<T extends any[]> implements PfvManagerFactoryInterface<{
    id: string;
}, {
    context: {
        id: string;
    };
}> {
    getPfvManager(config: MsaPfvManagerInterType<T>): PfvManagerInterface;
}
export {};
