import { AxiosResponse, Canceler } from 'axios';
import { API } from './API';
import { DataSetCollectionQueryParams, IDataQueryParams, IDataResponse, IUniqueLabelAndPrediction, IUniqueLabelAndPredictionResponse } from '../features/UploadData/Components/SelectDataFromRLEF/interfaces/data';
import { ICollectionQueryParams, ICollectionsResponse } from '../features/UploadData/Components/SelectDataFromRLEF/interfaces/collections';
import { ITagsResponse } from '../features/UploadData/Components/SelectDataFromRLEF/interfaces/tags';
export type IModelCollectionCheckpointFileDataReqPayloadForAddModelCollectionScenario = {
    description: string;
    name: string;
    isDefaultCheckpoint: boolean;
    files: {
        models: {
            description: string;
            name: string[];
        };
        additionalFiles: {
            name: string[];
            description: string;
        }[];
    };
};
export interface IModelCollectionPostReqPayload {
    parentCheckpointFile: File | null;
    childCheckpointFilesForModel: File[] | null;
    childCheckpointFilesForAdditionalFiles: File[] | null;
    model: string;
    modelDescription: string;
    hyperParameter: string;
    trainingDataDirectory: string[];
    modelArchitecture: string;
    startCheckpoint: string;
    version: string;
    tags: string[];
    numberOfLayersToFreeze?: number;
    parentCheckpointFileData: IModelCollectionCheckpointFileDataReqPayloadForAddModelCollectionScenario | null;
    defaultDataSetCollectionId?: string;
}
export type AddResourceToDataSetCollectionAPIRequestPayload = {
    dataSetCollectionIds: string[];
    resourceIds?: string[];
    addToDataSetCollectionQueryParams?: DataSetCollectionQueryParams;
};
export type AddResourceToDataSetCollectionAPIResponse = null;
type getDataApiConfigType = {
    onGettingCancelApiFunction?: (cancelApiFunction: Canceler) => void;
};
declare class DataService extends API {
    getData(data: IDataQueryParams, config?: getDataApiConfigType): Promise<AxiosResponse<IDataResponse>>;
    getCollections(data: ICollectionQueryParams): Promise<AxiosResponse<ICollectionsResponse>>;
    getTags(modelId: string, status?: string, value?: string, limit?: number): Promise<AxiosResponse<ITagsResponse>>;
    getUniqueLabelsAndPredictions(data: IUniqueLabelAndPrediction): Promise<AxiosResponse<IUniqueLabelAndPredictionResponse>>;
}
export type collectionMetricsFromAiModelTestResultCSVApiResponse = {
    F1: number;
    Precision: number;
    Recall: number;
    integrityFrequency: number;
    'Average IoU': number;
    'Mean Average Precision': number;
    Labels: {
        [label: string]: {
            F1: number;
            Precision: number;
            Recall: number;
            IntegrityAccuracy?: number;
            integrityFrequency: number;
            'Average IoU': number;
            'Mean Average Precision': number;
        };
    };
};
declare const _default: DataService;
export default _default;
//# sourceMappingURL=DataService.d.ts.map