import { AssetMap } from '../types/assets.type';
import { DataTableParams } from '../types/dataTable.type';
import { DialogSelectAssetFilterModels } from '../components/v2/DialogSelectAsset/DialogSelectAsset.vue.d';
export type DialogSelectAssetFilterQueryParams = Partial<Record<keyof DialogSelectAssetFilterModels, string>>;
export type GetAssetsQueryParams = DataTableParams & DialogSelectAssetFilterQueryParams & {
    _id?: string;
    status?: string;
    search?: string;
    excludeId?: string;
    tag?: string;
    maintenanceAuditStatus?: string[];
    coordinate?: boolean;
    map?: boolean[];
};
export type GetAvailableAssetsQueryParams = DataTableParams & DialogSelectAssetFilterQueryParams & {
    search?: string;
    excludeId?: string;
    tag?: string;
    mode?: string;
    asset?: string;
    maintenanceAuditStatus?: string[];
    _id?: string;
};
export type GetAssetDetailParams = DataTableParams & {
    tag?: string;
};
export interface GetLinkedAssetFamiliesResponse {
    status: number;
    message: string;
    data: Datum[];
}
export interface GetAssetMapResponse {
    status: number;
    message: string;
    data: AssetMap[];
}
export interface GetAssetMapParams {
    east?: number;
    west?: number;
    north?: number;
    south?: number;
    search?: string;
}
interface Datum {
    _id: string;
    parent: Parent;
    children: Parent[];
    family: Parent[];
}
interface Parent {
    _id: string;
    name: Name;
    group: Group;
    brand: Brand;
    model: Brand;
    assetImageSmall: string;
    assetImageMedium: string;
    assetImageBig: string;
}
interface Brand {
    _id: string;
    name: string;
    key: number;
}
interface Group {
    _id: string;
    name: string;
    fullPath: string;
    key: number;
}
interface Name {
    _id: string;
    nameWithSequence: string;
    name: string;
    key: number;
    aliasCode: string;
}
export {};
