import { IModelType } from "./models";
import { ICommonQueryParams, ICommonResponse, ICommonState, ResourceLabelSearchOperator, ResourceTagSearchOperator } from "./common";
export type ResourceImageKeyPoint = {
    created_at?: Date;
    xCoordinate: number;
    yCoordinate: number;
};
export type ResourceFileType = {
    filename: string;
    fileUrl: string;
    imageAnnotations: ResourceImageAnnotation[];
    _id: string;
};
export type ResourceImageAnnotation = {
    shouldIgnore?: boolean;
    confidenceScore?: number;
    startTimeInSeconds?: number;
    endTimeInSeconds?: number;
    label?: string;
    id: string;
    name?: string;
    vertices: {
        id: string;
        name: string;
        x: number;
        y: number;
    }[];
    selectedOptions: {
        id: string;
        value: string;
    }[];
    created_at?: Date;
    /** only gets set when sending this in annotation component where resource is part of
     * imageAnnotationGroup Model
     */
    groupAnnotationId?: string;
    color?: string;
    isClosed?: boolean;
    productReferenceNo?: string;
};
export type ResourceImageGroupAnnotation = {
    id: string;
    name: string;
    imageAnnotations: ResourceImageAnnotation[];
    created_at?: Date;
};
export type videoAnnotation = {
    id: string;
    label: string;
    tag: string;
    annotationByExpert?: {
        startTimeInSeconds: number;
        endTimeInSeconds: number;
        approvalStatus?: "approved" | "rejected";
    };
    annotationPrediction?: {
        startTimeInSeconds: number;
        endTimeInSeconds: number;
        isDeleted?: boolean;
        approvalStatus?: "approved" | "rejected";
    } | null;
};
export type ResourceRemarksText = string;
export type ResourceRemarks = {
    text: ResourceRemarksText;
    updated_at: string;
};
export type TrimmedAudio = {
    color?: string;
    _id: string;
    startTimeInSeconds: number;
    endTimeInSeconds: number;
    label: string;
    createdAt: string;
};
export type TrimmedText = {
    _id: string;
    startPosition: number;
    endPosition: number;
    label: string;
    createdAt: string;
    isPiiData?: boolean;
    confidence_score?: number;
    tag?: string;
};
export type FileMetaData = {
    width: number;
    height: number;
    size?: number;
};
export declare enum ResourceFields {
    aiAssistantLastCalledDetails = "aiAssistantLastCalledDetails",
    aiAssistantLastCalledDetails_calledAt = "calledAt"
}
export type PredictionStatusLogic = "label" | "labelAndErrorDeviation";
export interface WordMetadata {
    characterIndex: number;
    timeFrameInAudio: {
        startInMilliSeconds: number;
        endInMilliSeconds?: number;
    };
    word: string;
    _id?: string;
}
/**
 * Data
 */
export interface IData {
    created_at: string;
    updated_at: string;
    csv: string;
    draw: string;
    resource: string;
    remarks?: ResourceRemarks;
    label: string;
    parentResourceId?: string;
    model: {
        headers: string;
        name: string;
        _id: string;
        project: string;
        type: IModelType;
    };
    files?: ResourceFileType[];
    close?: number;
    status: ResourceStatus;
    _id: string;
    tag: string;
    dataBoost: string;
    prediction: string;
    confidence_score: string;
    filename: string;
    dataSetCollections: ResourceDataSetCollection[];
    statusLastModifiedAt: string;
    changesMade: {
        initiatedByEntity?: {
            id: string;
            type: string;
        };
        _id: string;
        change: string;
        created_at: string;
        initiatedBy: {
            emailId: string;
            _id: string;
        };
    }[];
    audioTranscription?: string;
    audioTranscriptionBeforeCorrection?: string;
    audioTranscriptionWordsMetadatas?: WordMetadata[];
    /** used only for resources which are part of prompt models */
    ansOfPrompt: string;
    prompt: string;
    /** used only for resources which are part of audio models */
    trimmedAudios?: TrimmedAudio[];
    /** used only for resources which are part of textAnnotation models */
    trimmedTexts?: TrimmedText[];
    /** used only for resources which are part of DLP models */
    isPiiData?: boolean;
    /** used only for resources which are part of forecasting Models */
    predictedCount?: number;
    /** used only for resources which are part of forecasting Models */
    cv_aiCount?: number;
    /** used only for resources which are part of forecasting Models */
    itemsSoldCount?: number;
    /** used only for resources which are part of forecasting Models */
    itemsDiscardedCount?: number;
    /** used only for resources which are part of forecasting Models */
    itemsAddCount?: number;
    /** used only for resources which are part of forecasting Models */
    videoDurationInSeconds?: number;
    /** used only for resources which are part of forecasting Models */
    forecastDateTime?: string;
    /** used only for resources which are part of imageAnnotation Models */
    imageAnnotations?: ResourceImageAnnotation[];
    /** used only for resources which are part of imageGroupAnnotation Models */
    imageGroupAnnotations?: ResourceImageGroupAnnotation[];
    /** used only for resources which are part of videoAnnotation Models */
    videoAnnotations?: videoAnnotation[];
    arevideoAnnotationsBeingUpdatedInDB?: boolean;
    /** used only for resources which are part of videoAnnotation Models */
    expertFeedbackCount: number;
    /**
     * used only when updating imageKeyPoints in DB
     */
    areImageKeyPointsBeingUpdatedInUI?: boolean;
    isResourceRemarksBeingUpdatedInDB?: boolean;
    warmerName?: string;
    additionalResources: AdditionalResource[];
    confidenceScore?: number;
    resource500WUrl?: string;
    resourceMetaData?: FileMetaData;
    resource500WMetaData?: FileMetaData;
    textFileContent?: string;
    isFetchingTextFileContents?: boolean;
    aiAssistantLastCalledDetails?: {
        calledAt?: string;
    };
    textOriginalLanguage?: string;
    textTranslatedLanguage?: string;
    authorName?: string;
    paragraph?: {
        sequenceNumber: Number;
    };
    chapter?: {
        sequenceNumber: Number;
    };
    textOriginalLanguageSentences?: ITextOriginalLanguageSentence[];
    textTranslatedLanguageSentences?: ITextTranslatedLanguageSentence[];
    spectrogram?: string;
    spectrogramFileName?: string;
    handsData: {
        didUserFoundSameHandHavingMultipleIds: Boolean;
        hands: {
            ids: string;
        }[];
    };
    textDifferencePercentage?: number;
    textsDifferences?: {
        value: string;
        inText: "one" | "two";
        highlightColor?: string;
        characterIndexPosition: number;
    }[];
    textOne?: string;
    textTwo?: string;
    metadataFileName?: string;
    hdf5FileDownloadUrl?: string;
    hdf5FileName?: string;
    source?: "RLEF" | "local" | "googleDrive";
}
export interface ITextOriginalLanguageSentence {
    sentenceId: string;
    sentence: {
        text: string;
        predictedText?: string;
    };
    sequenceNumber: number;
    confidenceScore?: number;
    isApprovedByUser?: boolean;
}
export interface ITextTranslatedLanguageSentence {
    sentenceId: string;
    predictedSentence: {
        text: string;
    };
    sentence: {
        text: string;
        englishTranslatedText: string;
        predictedText?: string;
    };
    connectedWithOriginalLanguageTextSentenceIdsPredicted: {
        sentenceId: string;
    }[];
    connectedWithOriginalLanguageTextSentenceIds: {
        sentenceId: string;
    }[];
    sequenceNumber: number;
    isApprovedByUser: boolean;
    confidenceScore: 100;
}
export interface DataSetCollectionQueryParams extends TableDataQueryParams {
    model: string;
    status: string;
    scenario?: "DataSetCollectionViewResourceDetails";
}
export interface UpdateAllResourcesQueryParam {
    status: ResourceStatus;
    resourceUpdateFilterQueryParams: DataSetCollectionQueryParams;
}
export interface DeleteBulkResourcesQueryParam {
    status: ResourceStatus;
    resourceDeleteFilterQueryParams: DataSetCollectionQueryParams;
}
export interface TableDataQueryParams {
    sortOrder: SortOrder;
    sortField: DataSortField;
    promptRegex: DataTablePromptSearchValue;
    nameRegex: DataTableResourceNameSearchValue;
    tagRegex: DataTableResourceTagSearchValue;
    includeOnlyMispredictedParagraphs: IncludeOnlyMispredictedParagraphsParamType;
    excludeMispredictedParagraphs: ExcludeMispredictedParagraphsParamType;
    labelRegex: DataTableResourceLabelSearchValue;
    predictionRegex: DataTableResourcePredictionSearchValue;
    includeOnlyMispredictedRows: IncludeOnlyMispredictedRowsQueryParamType;
    resourceConfidenceScoreMinValue: number;
    resourceConfidenceScoreMaxValue: number;
    resourceStatusLastModifiedDateMinValue: string;
    resourceStatusLastModifiedDateMaxValue: string;
    resourceDataSetCollectionIds: string[];
    resourcesWhichAreNotPartOfAnyDataSetCollection: ResourcesWhichAreNotPartOfAnyDataSetCollectionQueryParamType;
    forecastDateMinValue: string;
    forecastDateMaxValue: string;
    limit: string;
}
export interface AdditionalResource {
    itemsSoldCount: number;
    itemsDiscardedCount: number;
    itemsAddCount: number;
    videoDurationInSeconds?: number;
    _id: string;
    filename: string;
    warmerName?: string;
    resource: string;
}
export type ResourceDataSetCollection = {
    _id: string;
    name: string;
};
export interface IDataUpdatePayload {
    id?: string[];
    status?: ResourceStatus;
    label?: string;
    prediction?: string;
    tag?: string;
    dataBoost?: number;
    resource?: string;
    ansOfPrompt?: string;
    fileId?: string;
    remarks?: string;
    resourceId?: string;
    csv?: string;
    /** used only for resources which are part of imageAnnotation Models */
    imageAnnotations?: ResourceImageAnnotation[];
    /** used only for resources which are part of video annoation Models */
    videoAnnotations?: videoAnnotation[];
    /** used only for resources which are part of imageGroupAnnotation Models */
    imageGroupAnnotations?: ResourceImageGroupAnnotation[];
    /** used only for resources which are part of forecasting Models */
    itemsSoldCount?: number;
    /** used only for resources which are part of forecasting Models */
    itemsDiscardedCount?: number;
    /** used only for resources which are part of Book Translation Models */
    textTranslatedLanguageSentences?: ITextTranslatedLanguageSentence[];
    textOriginalLanguageSentences?: ITextOriginalLanguageSentence[];
    /** used only for resources which are part of forecasting Models */
    itemsAddCount?: number;
    additionalResourceIdstoFilter?: string[];
    additionalResourcePropertiesToUpdate?: {
        [key: string]: string;
    };
    trimmedAudioAnnotation?: any[];
    handsData?: {
        didUserFoundSameHandHavingMultipleIds: Boolean | undefined;
        hands: {
            ids: string;
        }[];
    };
    audioTranscription?: string;
    audioTranscriptionBeforeCorrection?: string;
}
export type GetResourceFromDBByIdAPIReqPayload = {
    resourceId: string;
    resourceSelectQuery?: string;
};
/**
 * Actions Payload
 */
export type FETCH_DATA_SET_COLLECTIONS_FOR_FILTER_REQUEST_ACTION_PAYLOAD = null;
export type FETCH_DATA_SET_COLLECTIONS_FOR_FILTER_SUCCESS_ACTION_PAYLOAD = {
    dataSetCollections: ResourceDataSetCollection[];
};
export type ADD_DATA_SET_COLLECTION_IN_DATA_SET_COLLECTIONS_FILTER_ACTION_PAYLOAD = {
    dataSetCollectionToAdd: ResourceDataSetCollection;
};
export type IS_EDIT_TEXT_SELECTED_ACTION_PAYLOAD = boolean;
export type UPDATE_RESOURCE_IMAGE_ANNOTATIONS_REQUEST_Action_Payload = {
    resourceId: string;
};
export type UPDATE_RESOURCE_IMAGE_ANNOTATIONS_Action_Payload = {
    resourceId: string;
    imageAnnotations: ResourceImageAnnotation[];
};
export type UPDATE_RESOURCE_MULTIPLE_IMAGE_ANNOTATIONS_Action_Payload = {
    resourceId: string;
    fileId: string;
    imageAnnotations: ResourceImageAnnotation[];
};
export type UPDATE_RESOURCE_VIDEO_ANNOTATIONS_Action_Payload = {
    resourceId: string;
    videoAnnotations: videoAnnotation[];
};
export type UPDATE_RESOURCE_IMAGE_GROUP_ANNOTATIONS_REQUEST_Action_Payload = {
    resourceId: string;
};
export type UPDATE_RESOURCE_IMAGE_GROUP_ANNOTATIONS_Action_Payload = {
    resourceId: string;
    imageGroupAnnotations: ResourceImageGroupAnnotation[];
};
export type UPDATE_RESOURCE_REMARKS_REQUEST_Action_Payload = {
    resourceId: string;
};
export type UPDATE_RESOURCE_REMARKS_Action_Payload = {
    resourceId: string;
    resourceRemarks: ResourceRemarks;
};
export type UPDATE_RESOURCE_PROMPT_Action_Payload = {
    resourceId: string;
    resource?: string;
    ansOfPrompt?: string;
};
export type UPDATE_DATA_REQUEST_Action_Payload = {
    status: ResourceStatus;
    id: string[];
};
export type UPDATE_DATA_SUCCESS_Action_Payload = {
    status: ResourceStatus;
    id: string[];
};
export interface ISavedDataSet extends IData {
    file_name?: string;
    image_url?: string;
}
export interface ISavedLocalFile {
    _id?: string;
    file_name: string;
    confidence_score: string;
    label: string;
    image_url: string;
    tag: string;
    resourceId: string;
}
export interface ISelectedDataPoint {
    _id: string;
    userEmail: string;
    source: DataPointSource;
    rlefResource?: IData;
    localFile?: ISavedLocalFile;
    savedDataSetId?: string;
    imageAnnotations: [
        {
            annotationId: string;
            vertices: [
                {
                    _id: string;
                    x: number;
                    y: number;
                }
            ];
        }
    ];
}
/**
 * Params
 */
export type StringSearchOperator = 'contains' | 'equals' | 'starts with' | 'ends with';
export type DataSetSortField = "name" | "description" | "created_at";
export type DataSortField = 'prompt' | 'resource' | 'tag' | 'statusLastModifiedAt' | 'label' | 'confidence_score' | 'forecastDateTime';
export type SortOrder = 'ascending' | 'descending';
export declare const SortOrderDefaultValue: SortOrder;
export declare const DataSortFieldDefaultValue: DataSortField;
export declare const DataTableNameSearchOperatorDefaultValue: StringSearchOperator;
export type ModelCollectionSortField = "created_at" | "version" | "accuracy" | "status" | "modelArchitecture";
export type TestCollectionSortField = "version" | "dataset" | "status";
export type DataTableResourceNameSearchValue = string;
export declare const DataTableResourceNameSearchValueQueryParam = "resourceNameSearchValue";
export type DataTablePromptSearchValue = string;
export declare const DataTablePromptSearchValueQueryParam = "PromptSearchValue";
export type IncludeOnlyMispredictedParagraphsParamType = "true" | "false";
export declare const IncludeOnlyMispredictedParagraphsParam = "includeOnlyMispredictedParagraphs";
export type ExcludeMispredictedParagraphsParamType = "true" | "false";
export declare const ExcludeMispredictedParagraphsQueryParam = "excludeMispredictedParagraphs";
export declare const DataTableResourceNameSearchOperatorQueryParam = "resourceNameSearchOperator";
export type DataTableResourceTagSearchValue = string;
export declare const DataTableResourceTagSearchValueQueryParam = "resourceTagSearchValue";
export declare const DataTableResourceTagSearchOperatorQueryParam = "resourceTagSearchOperator";
export declare const DataTableResourceTagSearchOperatorDefaultValue: ResourceTagSearchOperator;
export type DataTableResourceLabelSearchValue = Array<string>;
export declare const DataTableResourceLabelSearchValueQueryParam = "resourceLabelSearchValue";
export declare const DataTableResourceLabelSearchOperatorQueryParam = "resourceLabelSearchOperator";
export declare const DataTableResourceLabelSearchOperatorDefaultValue: ResourceLabelSearchOperator;
export type IncludeOnlyMispredictedRowsQueryParamType = 'true' | 'false';
export declare const IncludeOnlyMispredictedRowsQueryParam = "includeOnlyMispredictedRows";
export type DataTableResourcePredictionSearchValue = Array<string>;
export type ResourcePredictionSearchOperator = 'contains' | 'equals' | 'starts with' | 'ends with';
export declare const DataTableResourcePredictionSearchOperatorDefaultValue: ResourcePredictionSearchOperator;
export declare const resourceDataSetCollectionIdQueryParam = "resourceDataSetCollectionIds";
export declare const resourceConfidenceScoreDefaultMinValue = 0;
export declare const DataTableResourceConfidenceScoreMinValueQueryParam = "resourceConfidenceScoreMinValue";
export declare const resourceConfidenceScoreDefaultMaxValue = 100;
export declare const DataTableResourceConfidenceScoreMaxValueQueryParam = "resourceConfidenceScoreMaxValue";
export declare const DataTableResourceStatusLastModifiedDateMinValueQueryParam = "resourceStatusLastModifiedDateMinValue";
export declare const DataTableResourceStatusLastModifiedDateMaxValueQueryParam = "resourceStatusLastModifiedDateMaxValue";
export declare const ForecastDateMinValueQueryParam = "forecastDateMinValue";
export declare const ForecastDateMaxValueQueryParam = "forecastDateMaxValue";
export type ResourceStatus = 'backlog' | 'approval' | 'approved' | 'rejected' | 'deleted' | 'collections';
export type ResourcesWhichAreNotPartOfAnyDataSetCollectionQueryParamType = 'true' | '';
export declare const DataTableResourcesWhichAreNotPartOfAnyDataSetCollectionQueryParam = "resourcesWhichAreNotPartOfAnyDataSetCollection";
export interface ModelCollectionTableSortParams {
    order: SortOrder;
    field: string;
}
export interface ModelCollectionTableFilterParms {
    filter: {
        version: {
            searchValue: string[];
            menuOpen: boolean;
        };
        status: {
            searchValue: string[];
            menuOpen: boolean;
        };
        trainingDataSetCollectionNames: {
            searchValue: string[];
            menuOpen: boolean;
        };
        architectures: {
            searchValue: string[];
            menuOpen: boolean;
        };
        accuracy: {
            accuracyStatus: string[];
            minValue: string;
            maxValue: string;
            menuOpen: boolean;
        };
        createdDate: {
            minValue: string;
            maxValue: string;
            menuOpen: boolean;
        };
    };
}
export interface TestCollectionTableSortParams {
    order: SortOrder;
    field: string;
}
export interface TestCollectionTableFilterParms {
    filter: {
        version: {
            searchValue: string[];
            menuOpen: boolean;
        };
        status: {
            searchValue: string[];
            menuOpen: boolean;
        };
        models: {
            searchValue: string[];
            menuOpen: boolean;
        };
        dataSets: {
            searchValue: string[];
            menuOpen: boolean;
        };
    };
}
export interface IDataQueryParams extends ICommonQueryParams {
    model?: string;
    status?: ResourceStatus;
    statuses?: ResourceStatus[];
    ids?: string;
    sortOrder?: SortOrder;
    sortField?: DataSortField;
    promptRegex?: DataTablePromptSearchValue;
    nameRegex?: DataTableResourceNameSearchValue;
    tagRegex?: DataTableResourceTagSearchValue;
    labelRegex?: DataTableResourceLabelSearchValue;
    predictionRegex?: DataTableResourcePredictionSearchValue;
    includeOnlyMispredictedRows?: IncludeOnlyMispredictedRowsQueryParamType;
    resourceConfidenceScoreMinValue?: number;
    resourceConfidenceScoreMaxValue?: number;
    resourceStatusLastModifiedDateMinValue?: string;
    resourceStatusLastModifiedDateMaxValue?: string;
    forecastDateMinValue?: string;
    forecastDateMaxValue?: string;
    resourceDataSetCollectionIds?: string;
    resourcesWhichAreNotPartOfAnyDataSetCollection?: ResourcesWhichAreNotPartOfAnyDataSetCollectionQueryParamType;
    resourceSelectQuery?: string;
}
export interface IUniqueLabelAndPrediction {
    modelId: string;
    status?: ResourceStatus;
}
export interface IUniqueLabelAndPredictionResponse {
    uniqueLabels: string[];
    uniquePredictions?: string[];
}
/**
 * Responses
 */
export interface IDataResponse extends ICommonResponse {
    resources: IData[];
}
export type DataView = "grid-view" | "list-view";
/**
 * Redux
 */
export interface IDataState extends ICommonState {
    data: IDataResponse;
    approvedWaitingList: string[];
    approvalWaitingList: string[];
    rejectedWaitingList: string[];
    deletedWaitingList: string[];
    selected?: string;
    selectedItems: string[];
    /** resources which are part of api request payload  */
    resourcesWhoseDataSetCollectionsAreBeingUpdatedInDB: string[];
    dataSetCollectionsForFilter: ResourceDataSetCollection[];
    dataSetCollectionsBeingFetchedForFilter: boolean;
    /**
     * When edit text component (tag/label input field) is clicked, this
     * will be set as true, otherwise should be set as false
     */
    dataView?: DataView;
    shouldBlockDataTableKeyboardEvents: boolean;
}
/**
 * Action Payloads
 */
export type GetDataSuccessForSelectingAllResourcesMatchingFilterActionPayload = {
    resources: IData[];
};
export type UpdateItemsCountPayload = {
    count: number;
    resourceId: string;
    videoId: string;
    videoDurationInSeconds: number;
};
export type ResourceNameSearchOperator = 'contains' | 'equals' | 'starts with' | 'ends with';
export type PromptSearchOperator = 'contains' | 'equals' | 'starts with' | 'ends with';
export type filterType = {
    resourceTag: {
        searchOperator: ResourceTagSearchOperator;
        searchValue: DataTableResourceTagSearchValue;
        menuOpen: boolean;
    };
    resourceLabel: {
        searchValue: DataTableResourceLabelSearchValue;
        searchOperator: ResourceLabelSearchOperator;
        includeOnlyMispredictedRows: IncludeOnlyMispredictedRowsQueryParamType;
        menuOpen: boolean;
        predictionSearchValue: DataTableResourcePredictionSearchValue;
        predictionSearchOperator: ResourcePredictionSearchOperator;
    };
    resourceConfidenceScore: {
        minValue: number;
        maxValue: number;
        menuOpen: boolean;
    };
};
export type DataPointSource = 'local' | 'rlef' | 'gDrive';
//# sourceMappingURL=data.d.ts.map