import { AdminService } from './admin.service';
export declare class AdminController {
    private readonly adminService;
    constructor(adminService: AdminService);
    getOverview(): Promise<{
        finance: {
            grossRevenue: number;
            netRevenue: number;
            platformNetRevenue: number;
            restaurantPayoutTotal: number;
            availablePayoutAmount: number;
            pendingPayoutAmount: number;
            nextPayoutDate: string | null;
            payoutDelayDays: number;
            totalCommission: number;
            deliveryProfit: number;
            driverPayoutTotal: number;
            serviceFees: number;
            subscriptionRevenue: number;
            adsRevenue: number;
            withdrawalsPending: number;
            walletBalances: {
                type: import("@prisma/client").$Enums.WalletType;
                balance: number;
                blockedBalance: number;
            }[];
            paidOrders: number;
            cancelledOrders: number;
            refunds: number;
            averageTicket: number;
        };
        operations: {
            activeOrders: number;
            restaurantsOnline: number;
            activeDeliveries: number;
            totalRestaurants: number;
            salesByStatus: Record<string, number>;
        };
        topRestaurants: {
            id: string;
            name: string;
            status: import("@prisma/client").$Enums.AccountStatus;
            orderCount: number;
            customerGross: number;
            totalSold: number;
            commissionAmount: number;
            platformNet: number;
            driverPayoutTotal: number;
            payoutToRestaurant: number;
            availablePayoutAmount: number;
            pendingPayoutAmount: number;
            nextPayoutDate: string | null;
            commissionPercentage: number;
        }[];
        recentOrders: {
            id: string;
            createdAt: Date;
            status: import("@prisma/client").$Enums.OrderStatus;
            total: number;
            paymentStatus: import("@prisma/client").$Enums.PaymentStatus | null;
            restaurant: string;
            customer: string;
            deliveryStatus: import("@prisma/client").$Enums.DeliveryStatus | null;
        }[];
    }>;
    getLiveMap(): Promise<{
        city: string;
        drivers: {
            online: number;
            offline: number;
            busy: number;
            markers: {
                id: string;
                name: string;
                isOnline: boolean;
                latestLocation: {
                    id: string;
                    createdAt: Date;
                    orderId: string | null;
                    driverId: string;
                    latitude: import("@prisma/client/runtime/library").Decimal;
                    longitude: import("@prisma/client/runtime/library").Decimal;
                    heading: import("@prisma/client/runtime/library").Decimal | null;
                    speed: import("@prisma/client/runtime/library").Decimal | null;
                    accuracy: import("@prisma/client/runtime/library").Decimal | null;
                };
            }[];
        };
        activeOrders: number;
        restaurants: {
            id: string;
            name: string;
            latitude: import("@prisma/client/runtime/library").Decimal | null;
            longitude: import("@prisma/client/runtime/library").Decimal | null;
            city: string | null;
            neighborhood: string | null;
        }[];
        routes: {
            deliveryId: string;
            orderId: string;
            driverId: string | null;
            status: import("@prisma/client").$Enums.DeliveryStatus;
            restaurant: {
                name: string;
                latitude: import("@prisma/client/runtime/library").Decimal | null;
                longitude: import("@prisma/client/runtime/library").Decimal | null;
            };
            customer: {
                latitude: import("@prisma/client/runtime/library").Decimal | null | undefined;
                longitude: import("@prisma/client/runtime/library").Decimal | null | undefined;
            };
            etaMinutes: number | null;
        }[];
    }>;
    getDeliverySettings(): Promise<{
        baseFee: number;
        pricePerKm: number;
        minimumDeliveryFee: number;
        maximumDeliveryFee: number;
        platformDeliveryMargin: number;
        peakHourMultiplier: number;
        rainMultiplier: number;
        lowDriverSupplyMultiplier: number;
        defaultRestaurantCommission: number;
        serviceFeeFixed: number;
        serviceFeePercentage: number;
        withdrawalFee: number;
        premiumMonthlyFee: number;
    }>;
    updateDeliverySettings(body: Record<string, unknown>): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        key: string;
        value: import("@prisma/client/runtime/library").JsonValue;
    }>;
}
