import { EntityEidType, BasicInfoAtomType, TransformAtomType, VisibleAtomType } from './data-type';
export interface IFloodEntityAtom {
    algorithmType: string;
    customID: string;
    customData: string;
    sceneCRS: string;
    floodTifFilePath: string;
    floodShpFilePath: string;
    floodShxFilePath: string;
    floodPrjFilePath: string;
    floodDbfFilePath: string;
    isLocalPath: string;
    dataMax: string;
    dataMin: string;
    matBlur: string;
    matOpaccity: string;
    timeIndex: string;
    valueArray: Array<any>;
    gridIDArray: Array<any>;
    waterMatIndex: string;
    heatMapMatIndex: string;
    playSpeed: string;
    playIndex: string;
    play: string;
    heatMap: string;
    minIndex: string;
    maxIndex: string;
    addPositionX: string;
    addPositionY: string;
    addScaleX: string;
    addScaleY: string;
    addRotation: string;
    addHeight: string;
    flowTifFilePath: string;
    flowShpFilePath: string;
    flowShxFilePath: string;
    flowPrjFilePath: string;
    flowDbfFilePath: string;
    isLocalFlowPath: string;
    flowTimeIndex: string;
    indexArray: Array<any>;
    valueUArray: Array<any>;
    valueAArray: Array<any>;
    flowDataMax: string;
    flowDataMin: string;
    collnst: string;
    speed: string;
    nomalValue: string;
    baseScale: string;
    particleCountBase: string;
    flowAddPositionX: string;
    flowAddPositionY: string;
    flowAddScaleX: string;
    flowAddScaleY: string;
    flowAddRotation: string;
    flowAddHeight: string;
    flowMatStyle: string;
    flowPlayIndex: string;
    flowPlay: string;
    flowMinIndex: string;
    flowMaxIndex: string;
    tifFloodTifFilePath: string;
    tifFloodTimeTifsFilePath: Array<any>;
    isLocalTifPath: string;
    tifDataMax: string;
    tifDataMin: string;
    tifMatBlur: string;
    tifMatOpaccity: string;
    tifWaterMatIndex: string;
    tifHeatMapMatIndex: string;
    tifPlaySpeed: string;
    tifPlayIndex: string;
    tifPlay: string;
    tifHeatMap: string;
    tifMinIndex: string;
    tifMaxIndex: string;
    tifAddPositionX: string;
    tifAddPositionY: string;
    tifAddScaleX: string;
    tifAddScaleY: string;
    tifAddRotation: string;
    tifAddHeight: string;
}
export interface IFloodEntityAtomType extends EntityEidType, Partial<BasicInfoAtomType>, Partial<TransformAtomType>, Partial<VisibleAtomType> {
    floodStyle?: Partial<IFloodEntityAtom>;
}
export interface IGenerate {
    FloodEntityAtom?: Partial<IFloodEntityAtom>;
    BasicInfoAtom?: Partial<BasicInfoAtomType>;
    TransformAtom?: Partial<TransformAtomType>;
    VisibleAtom?: Partial<VisibleAtomType>;
}
export interface IAlgorithmFile {
    tifURL: string;
    shpURL: string;
    shxURL: string;
    prjURL: string;
    dbfURL: string;
    timesTifURLArray: Array<string>;
    override: boolean | string;
}
export interface IAlgorithm {
    algorithmType: string;
    customId: string;
    customData: string;
    file: Partial<IAlgorithmFile>;
    data: Array<any>;
}
export type TCreateAlgorithm = Partial<IAlgorithm>;
export interface IUpdateAlgorithm extends Partial<IAlgorithm> {
    object: Record<string, any>;
}
export interface IUpdateAlgorithmParam extends Partial<IAlgorithm> {
    eid: string | null;
}
export interface IDeleteAlgorithmBasic {
    force: boolean | string;
}
export interface IDeleteAlgorithm extends Partial<IDeleteAlgorithmBasic> {
    object: Record<string, any>;
}
export interface IDeleteAlgorithmParam extends Partial<IDeleteAlgorithmBasic> {
    eid: string | null;
}
export interface IShowAlgorithmBasic {
    isVisible: boolean | string;
}
export interface IShowAlgorithm extends Partial<IShowAlgorithmBasic> {
    object: Record<string, any>;
}
export interface IShowAlgorithmParam extends Partial<IShowAlgorithmBasic> {
    eid: string | null;
}
export interface IRunAlgorithmBasic {
    offset: Array<number>;
    scale: Array<number>;
    rotation: number;
    materialEId: string | null;
    colorPointEId: string | null;
    index: string;
    minIndex: string;
    maxIndex: string;
    speed: string;
    status: string;
    reset: boolean | string;
}
export interface IRunAlgorithm extends Partial<IRunAlgorithmBasic> {
    object: Record<string, any>;
}
export interface IRunAlgorithmParam extends Partial<IRunAlgorithmBasic> {
    eid: string | null;
}
export interface IAddAlgorithmDataBasicData {
    valueArray: Array<any>;
    gridIdArray: Array<string>;
    indexArray: Array<string | number>;
    valueUArray: Array<any>;
    valueAArray: Array<any>;
}
export interface IAddAlgorithmDataBasic {
    data: Partial<IAddAlgorithmDataBasicData>;
}
export interface IAddAlgorithmData extends Partial<IAddAlgorithmDataBasic> {
    object: Record<string, any>;
}
export interface IAddAlgorithmDataParam extends Partial<IAddAlgorithmDataBasic> {
    eid: string | null;
}
export interface IDeleteAlgorithmDataBasic {
    index: number | string;
}
export interface IDeleteAlgorithmData extends Partial<IDeleteAlgorithmDataBasic> {
    object: Record<string, any>;
}
export interface IDeleteAlgorithmDataParam extends Partial<IDeleteAlgorithmDataBasic> {
    eid: string | null;
}
export interface IUpdateAlgorithmData extends Partial<IAddAlgorithmDataBasic>, IDeleteAlgorithmDataBasic {
    object: Record<string, any>;
}
export interface IUpdateAlgorithmDataParam extends Partial<IAddAlgorithmDataBasic>, Partial<IDeleteAlgorithmDataBasic> {
    eid: string | null;
}
export interface IGetAlgorithmData extends Partial<IDeleteAlgorithmDataBasic> {
    object: Record<string, any>;
}
export interface IGetAlgorithmDataParam extends Partial<IDeleteAlgorithmDataBasic> {
    eid: string | null;
}
export interface ICreateMaterial {
    mId: string;
    customId?: string;
    opacity: string;
    dataMax: string;
    dataMin: string;
    waterMatIndex: string;
    matBlur: string;
    heatMapMatIndex: string;
    flowMatStyle: string;
    collnst: string;
    speed: string;
    nomalValue: string;
    baseScale: string;
    particleCountBase: string;
}
export interface IUpdateMaterial extends Partial<ICreateMaterial> {
    object: Record<string, any>;
}
export interface IUpdateMaterialParam extends Partial<ICreateMaterial> {
    eid: string | null;
}
