export type UserRole = "admin" | "user";
export type VehicleStatus = "online" | "delayed" | "offline";
export type VehicleKind = "passenger" | "delivery";
export type VehicleColorKey = "visau-orange" | "visau-pink" | "visau-violet" | "visau-charcoal" | "visau-indigo" | "visau-sky" | "visau-teal" | "visau-mint" | "visau-green";
export declare const VEHICLE_COLOR_OPTIONS: Array<{
    key: VehicleColorKey;
    label: string;
    hex: string;
}>;
export declare const DEFAULT_VEHICLE_COLOR_KEY: VehicleColorKey;
export declare const getVehicleColorHex: (colorKey?: string | null) => string;
export type NormalizedTelemetry = {
    imei: string;
    protocolName: string;
    rawPayload: string;
    deviceTime?: string;
    serverTime: string;
    lat: number;
    lon: number;
    speed?: number;
    heading?: number;
    ignition?: boolean;
    battery?: number;
    gsmSignal?: number;
    satelliteCount?: number;
    gpsValid?: boolean;
    charging?: boolean;
    defense?: boolean;
    positionType?: string;
};
export type DeviceStatus = VehicleStatus;
export type AuthUser = {
    id: string;
    email: string;
    firstName: string;
    lastName: string;
    role: UserRole;
};
export type VehicleSummary = {
    id: string;
    name: string;
    plateNumber?: string | null;
    colorKey?: VehicleColorKey | null;
    vehicleKind: VehicleKind;
    deviceId?: string | null;
    imei?: string | null;
    phoneNumber?: string | null;
    status: VehicleStatus;
    lastSeen?: string | null;
    firstHistoryAt?: string | null;
    lastPosition?: PositionSnapshot | null;
    deviceState?: DeviceStateSnapshot | null;
};
export type PositionSnapshot = {
    lat: number;
    lon: number;
    speed?: number | null;
    heading?: number | null;
    deviceTime?: string | null;
    serverTime: string;
    ignition?: boolean | null;
    battery?: number | null;
    gsmSignal?: number | null;
    satelliteCount?: number | null;
    gpsValid?: boolean | null;
    charging?: boolean | null;
    defense?: boolean | null;
    positionType?: string | null;
};
export type HistoryPoint = PositionSnapshot & {
    id: number;
};
export type DeviceStateSnapshot = {
    phoneNumber?: string | null;
    protocolName?: string | null;
    deviceTime?: string | null;
    battery?: number | null;
    gsmSignal?: number | null;
    ignition?: boolean | null;
    charging?: boolean | null;
    defense?: boolean | null;
    gpsValid?: boolean | null;
    satelliteCount?: number | null;
    positionType?: string | null;
};
export type VehicleAlertSummary = {
    id: string;
    vehicleId: string;
    vehicleName: string;
    vehicleKind: VehicleKind;
    imei?: string | null;
    speed: number;
    triggeredAt: string;
    acknowledgedAt?: string | null;
};
export declare const getVehicleStatus: (lastSeen?: string | Date | null, onlineSeconds?: number, delayedSeconds?: number) => VehicleStatus;
