import { UsersService } from '../users/users.service';
import { AnalyticsService } from './analytics.service';
export declare class AnalyticsController {
    private readonly analytics;
    private readonly users;
    constructor(analytics: AnalyticsService, users: UsersService);
    userReport(userId: string, from?: string, to?: string): Promise<{
        trips: {
            id: string;
            _id: import("mongoose").Types.ObjectId;
            $locals: Record<string, unknown>;
            $op: "save" | "validate" | "remove" | null;
            $where: Record<string, unknown>;
            baseModelName?: string;
            collection: import("mongoose").Collection;
            db: import("mongoose").Connection;
            errors?: import("mongoose").Error.ValidationError;
            isNew: boolean;
            schema: import("mongoose").Schema;
            tripId: string;
            userId: string;
            requestDate: Date;
            city?: string;
            fromLocation?: string;
            toLocation?: string;
            originLat?: number;
            originLng?: number;
            clientName?: string;
            destinationLat?: number;
            destinationLng?: number;
            googlePlaceId?: string;
            plannedDistance?: number;
            vehicleType?: import("../common/constants/enums").VehicleType;
            fuelType?: import("../common/constants/enums").FuelType;
            purpose?: string;
            status: import("../common/constants/enums").TripStatus;
            totalDistance: number;
            travelDuration: number;
            idleTime: number;
            meetingDuration: number;
            productivityScore?: number;
            tripEfficiency?: number;
            startedAt?: Date;
            arrivedAt?: Date;
            completedAt?: Date;
            tripLegs?: Record<string, unknown>[];
            currentLegIndex?: number;
            __v: number;
        }[];
        summary: {
            totalDistance: number;
            travelTime: number;
            meetingTime: number;
            idleTime: number;
            avgProductivity: number;
            avgEfficiency: number;
        };
    } | {
        trips: never[];
        summary: {};
    }>;
    daily(from?: string, to?: string, userId?: string): Promise<{
        id: string;
        _id: import("mongoose").Types.ObjectId;
        $locals: Record<string, unknown>;
        $op: "save" | "validate" | "remove" | null;
        $where: Record<string, unknown>;
        baseModelName?: string;
        collection: import("mongoose").Collection;
        db: import("mongoose").Connection;
        errors?: import("mongoose").Error.ValidationError;
        isNew: boolean;
        schema: import("mongoose").Schema;
        userId: string;
        date: Date;
        totalDistance: number;
        travelTime: number;
        meetingTime: number;
        idleTime: number;
        tripsCompleted: number;
        productivityScore?: number;
        __v: number;
    }[]>;
    monthly(year?: string, userId?: string): Promise<{
        id: string;
        _id: import("mongoose").Types.ObjectId;
        $locals: Record<string, unknown>;
        $op: "save" | "validate" | "remove" | null;
        $where: Record<string, unknown>;
        baseModelName?: string;
        collection: import("mongoose").Collection;
        db: import("mongoose").Connection;
        errors?: import("mongoose").Error.ValidationError;
        isNew: boolean;
        schema: import("mongoose").Schema;
        userId: string;
        year: number;
        month: number;
        totalDistance: number;
        travelTime: number;
        meetingTime: number;
        idleTime: number;
        tripsCompleted: number;
        productivityScore?: number;
        __v: number;
    }[]>;
}
