import { FormSubmitParams } from '../../helpers/utils/forms';
import { KitDTO } from '../../api/queryInfo';

export type MatchTabItem = {
    id: string;
    title: string;
    selected: boolean;
    conboKey: string;
    isLeftPanelShown: boolean;
    isRightPanelShown: boolean;
    timezone: string;
    color: string;
    matchList: {
        id: number;
        assigned_feed_id: number | null;
        startTime: string;
        endTime: string;
        conbo_key: string;
        confidence: number | null;
    }[];
    matchListFeatchAt: Date | null;
    kitsElements: KitDTO[];
    topOneList: {
        conbo_key: string;
        tagId: number;
        kitId: number;
        value: number;
        count: number;
        avgConf: number;
        elementSerialNumber: number;
    }[];
    vehicleInfoImages: string[];
    snapshotsList: {
        id: string;
        captureTime: string;
        assignedFeedId: number;
    }[];
    classifiersFrameInfoList: {
        conbo_key: string;
        tag_id: number;
        value: string;
        confidence: number;
        element_serial_number: number;
        kit_id: number;
        kit_version: number;
        assigned_feed_id: number;
        track_id: number;
        start_time: string;
        end_time: string;
    }[];
    classifierSummaryList: {
        conbo_key: string;
        tag_id: number;
        value: number;
        kit_id: number;
        kit_version: number;
        average_confidence: number;
        median_confidence: number;
        element_serial_number: number;
        count: number;
    }[];
    geo: {
        type: string;
        geometry: {
            type: string;
            coordinates: [number, number][];
        } | null;
        properties: Record<string, any>;
    } | null;
    pixelGeo: {
        type: string;
        geometry: {
            type: string;
            coordinates: [number, number][];
        } | null;
        properties: Record<string, any>;
    } | null;
    configuration: {
        name: string;
    } | null;
};
export type ConboMatchStore = {
    tabs: MatchTabItem[];
    clearStore: () => void;
    onAddTab: () => void;
    onDeleteTab: (id: string) => void;
    onSelectActiveTab: (id: string) => void;
    onUpdateTab: (tabId: string, payload: Partial<Omit<MatchTabItem, "id">>) => void;
    onFetchAllTabs: () => Promise<void>;
    onFetchAllMatchList: (payload?: FormSubmitParams<{
        conboKey?: string;
        keyExclusive?: boolean;
        isUtc?: boolean;
    }>) => Promise<void>;
    onFetchKitsElements: (payload?: {
        deploymentId?: string;
    }) => Promise<void>;
    onFetchConfiguration: ({ deploymentId }: {
        deploymentId: string;
    }) => Promise<void>;
    onFetchVehicleInfoImages: ({ conboKey }: {
        conboKey: string;
    }) => Promise<string[]>;
};
export declare const useConboMatchStore: import('zustand').UseBoundStore<import('zustand').StoreApi<ConboMatchStore>>;
