import { PlateRelationshipType, ClashStrategyType, TransferInstructionsRowType, PlateMapRowType, StrategyType, SeparatorType, WellType } from "./PlateTypes";
import { WellFormatsType } from "well-id-formatter/dist/wellTypes";
declare class PlateTransformer {
    columnClashStrategies: ClashStrategyType[];
    instructions: TransferInstructionsRowType[];
    sourceMap: PlateMapRowType[];
    destMap: PlateMapRowType[];
    newDestMap: PlateMapRowType[];
    defaultClashStragty: StrategyType;
    defaultSeparator: SeparatorType;
    newDestMapCols: ("Plate" | "Well" | string)[];
    internalWellType: WellType;
    clashedColumns: string[];
    sourceRelationship: PlateRelationshipType;
    destRelationship: PlateRelationshipType;
    constructor(sourceMap: PlateMapRowType[], destMap: PlateMapRowType[], instructions: TransferInstructionsRowType[], sourceRelationship: PlateRelationshipType, destRelationship: PlateRelationshipType, columnClashStrategies?: ClashStrategyType[]);
    validateLayoutKeys(): void;
    validateInstructionsKeys(): void;
    validateAndFormatData(): void;
    setDefaultClashStrategy(strategy: StrategyType): void;
    setClashConcatenationSeparator(separator: SeparatorType): void;
    assigncolumnClashStrategies(columnClashStrategies: ClashStrategyType[]): void;
    fillMissingWells(): void;
    validateAndConvertWellFormats(wellFormat: WellFormatsType): void;
    transformPlates(wellformat: WellType | null): PlateMapRowType[];
    assignNewColnameToDestMap(newColname: string): void;
    mutateDestMapRowWithClashedValues(destMapRow: PlateMapRowType, sourceMapRow: PlateMapRowType, colname: string): PlateMapRowType;
    validateMapIDs(): void;
    validateInstructionIDs(): void;
}
export default PlateTransformer;
//# sourceMappingURL=PlateTransformerClass.d.ts.map