import { MenuData } from "@sensoro/sensoro-design/es/tree/tree"; import { IconBaseProps } from "@sensoro-design/icons/es/components/Icon"; import { DeviceUsageType } from "./config"; export declare type DeviceStatus = 0 | 1; export declare type GBDeviceStatus = "online" | "offline" | "unregistered"; export declare type OperationType = "circle" | "rectangle" | "polygon" | undefined; export interface ChannelBaseInfo { channel: string | number; channelSerial: string; name: string; } export interface ChannelStreamInfo { isLive: boolean; flvUrl: string; } export interface ChannelInfo extends ChannelBaseInfo, ChannelStreamInfo { } export interface ServerDeviceInfo { id: string | number; cid?: string | number; /** * 设备SN,国标设备可能不存在 */ sn: string; /** * 设备名称 */ name: string; /** * 设备地址 */ address: string; /** * 设备经纬度 */ lng: number; lat: number; /** * 设备状态 * 0: 离线、1: 在线 * 国标设备 **需要处理** * unregistered: 未注册-离线 * online: 注册-在线 * offline: 注册-离线 */ status: DeviceStatus | GBDeviceStatus; /** * 设备使用类型,决定显示的Icon * 国标设备强制使用 普通网络摄像机 */ deviceUsageType?: DeviceUsageType; flvUrl?: string; m3u8Url?: string; [key: string]: any; } export interface IconFontProps extends IconBaseProps { type: T; } export interface DeviceInfo { sn: string; key: string; title: string; menus?: MenuData[]; type: "GB" | "SENSORO"; position: { longitude: number; latitude: number; }; lnglat: [number, number]; titleIcon?: IconFontProps; status: DeviceStatus; deviceUsageType: DeviceUsageType; selected: boolean; flvUrl?: string; m3u8Url?: string; playable?: boolean; children?: (ChannelInfo & { key: string | number; title: string; flvUrl?: string; m3u8Url?: string; })[]; }