import { VmiUserUploadError } from "@insite/client-framework/Store/Components/VmiUsersImportModal/Handlers/ValidateVmiUsers";
import { VmiUserImportModel } from "@insite/client-framework/Types/ApiModels";

export interface ParsedItem {
    userName: string;
    vmiLocations: string | null;
    role: string | null;
}

export interface VmiUserUploadRowError {
    index: number;
    userName: string;
    vmiLocations: string | null;
    role: string | null;
    error: VmiUserUploadError;
}

export default interface VmiUsersImportModalState {
    parsedItems: ParsedItem[];
    errorEntries: VmiUserUploadRowError[];
    importedItems: VmiUserImportModel[];
    isBadFile: boolean;
    isUploading: boolean;
    vmiUsersProcessed: boolean;
    allowCancel: boolean;
    uploadCancelled: boolean;
    uploadLimitExceeded: boolean;
    errorsModalIsOpen: boolean;
    modalIsOpen: boolean;
    fullFileError: boolean;
    continueUpload: boolean;
}
