import { VendorService } from './vendor.service';
import { Types } from 'mongoose';
import { AddMorePreparingTimeDto, OrdersDto, IndexItemDto, TodayOrdersDto, UpdateOrderDto, VendorPayoutHistoryDto, VendorSalesAnalyticsQueryDto, VendorOrdersAnalyticsQueryDto, VendorItemAnalyticsQueryDto } from './dto/vendor.dto';
export declare class VendorController {
    private readonly vendorService;
    constructor(vendorService: VendorService);
    TodayOrders(body: TodayOrdersDto, req: any): Promise<{
        data_count: number;
        status_counts: {
            ongoing_count: number;
            pending: number;
            prepared: number;
            ready: number;
            picked_up: number;
            delivered: number;
            scheduled: number;
            pos: number;
            cancelled: number;
        };
        payment_summary: {
            cash: number;
            card: number;
            upi: number;
            wallet: number;
            total: number;
        };
        data: any;
    }>;
    Orders(body: OrdersDto, req: any): Promise<{
        count: any;
        total_earning: any;
        data: any;
    }>;
    OrderCount(id: string, req: any): Promise<{
        todayOrders: number;
        weekOrders: number;
        monthOrders: number;
        totalTodayEarning: number;
        totalWeekEarning: number;
        totalMonthEarning: number;
        todayearnings: (import("mongoose").Document<unknown, {}, import("mongoose").MergeType<import("../earning/schema/earning.schema").Earnings, {
            order_id: {
                order_status: string;
            };
        }>, {}, {}> & Omit<import("../earning/schema/earning.schema").Earnings, "order_id"> & {
            order_id: {
                order_status: string;
            };
        } & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    OngoingOrders(id: string, req: any): Promise<{
        data: (import("mongoose").Document<unknown, {}, import("../order/schema/order.schema").Orders, {}, {}> & import("../order/schema/order.schema").Orders & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    UpdateOrder(body: UpdateOrderDto, req: any): Promise<{
        message: any;
    }>;
    AddMorePreparingTime(body: AddMorePreparingTimeDto, req: any): Promise<{
        data: import("mongoose").Document<unknown, {}, import("../order/schema/order.schema").Orders, {}, {}> & import("../order/schema/order.schema").Orders & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    SaveIndexForDragDrop(id: string, body: IndexItemDto): Promise<{
        message: string;
    }>;
    getVendorDashboardSummary(id: string, req: any): Promise<{
        pending_order: {
            count: unknown;
            breakdown: any;
        };
        platform_commission: number;
        last_payout_date: string;
        last_payout_created_at: string;
        requested_orders: any;
        scheduled_orders: any;
        pending_orders: any;
        pendings_orders: any;
        preparing_orders: any;
        ready_for_pickup: any;
        completed_orders: any;
        missed_orders: any;
        cancelled_orders: any;
        total_orders: any;
        revenue: {
            today_earning: number;
            overall_earning: number;
        };
        pending_payout: any;
        store_status: string;
        average_rating: {
            rating: number;
            total_reviews: any;
        };
        prep_time: string;
        missed_cancelled: {
            total: any;
            today: any;
        };
    }>;
    getVendorDashboardSummaryDirect(req: any): Promise<{
        pending_order: {
            count: unknown;
            breakdown: any;
        };
        platform_commission: number;
        last_payout_date: string;
        last_payout_created_at: string;
        requested_orders: any;
        scheduled_orders: any;
        pending_orders: any;
        pendings_orders: any;
        preparing_orders: any;
        ready_for_pickup: any;
        completed_orders: any;
        missed_orders: any;
        cancelled_orders: any;
        total_orders: any;
        revenue: {
            today_earning: number;
            overall_earning: number;
        };
        pending_payout: any;
        store_status: string;
        average_rating: {
            rating: number;
            total_reviews: any;
        };
        prep_time: string;
        missed_cancelled: {
            total: any;
            today: any;
        };
    }>;
    getVendorEarningsSalesDashboard(req: any): Promise<{
        total_sales: {
            value: number;
            growth: number;
            growth_type: string;
        };
        total_orders: {
            type_of_total_order: {
                driver_order: {
                    value: number;
                    growth: number;
                    growth_type: string;
                };
                takeaway: {
                    value: number;
                    growth: number;
                    growth_type: string;
                };
                carting: {
                    value: number;
                    growth: number;
                    growth_type: string;
                };
                slot_booking: {
                    value: number;
                    growth: number;
                    growth_type: string;
                };
            };
            value: number;
            growth: number;
            growth_type: string;
        };
        pos_orders: {
            total_orders: {
                value: number;
                growth: number;
                growth_type: string;
            };
            pos_earnings: {
                by_payment_method: {
                    cash: {
                        value: number;
                        growth: number;
                        growth_type: string;
                    };
                    card: {
                        value: number;
                        growth: number;
                        growth_type: string;
                    };
                    upi: {
                        value: number;
                        growth: number;
                        growth_type: string;
                    };
                };
                value: number;
                growth: number;
                growth_type: string;
            };
        };
        average_order_value: {
            value: number;
            growth: number;
            growth_type: string;
        };
        cash_on_delivery_sales: {
            value: number;
            growth: number;
            growth_type: string;
        };
        online_payment_sales: {
            value: number;
            growth: number;
            growth_type: string;
        };
        restaurant_earnings: {
            value: number;
            growth: number;
            growth_type: string;
        };
        platform_commission: {
            value: number;
            growth: number;
            growth_type: string;
        };
    }>;
    getVendorOrderStatusOverview(req: any): Promise<{
        order_status_overview: {
            requested_orders: any;
            scheduled_orders: any;
            pending_orders: any;
            pendings_orders: any;
            preparing_orders: any;
            ready_for_pickup: any;
            completed_orders: any;
            missed_orders: any;
            cancelled_orders: any;
        };
    }>;
    getVendorOrderAnalytics(id: string, req: any): Promise<{
        total_orders_received: number;
        total_orders_completed: number;
        total_cancelled_order: number;
        cancellation_order_percent: number;
        total_revenue_get: any;
        commission: any;
        current_settlement_or_due: number;
        total_dineout_booking: number;
        total_catering_booking: number;
    }>;
    getVendorRevenueByWeekDay(id: string, req: any): Promise<any[]>;
    getPopularItems(id: string, req: any): Promise<any[]>;
    getRecentOrders(id: string, req: any): Promise<{
        _id: any;
        order_id: any;
        customer: any;
        items: any[];
        items_ordered: string;
        time: any;
        amount: any;
        status: any;
        order_type: any;
    }[]>;
    getVendorWallet(id: string, req: any): Promise<(import("mongoose").Document<unknown, {}, import("../restaurant/schema/vendor-wallet.schema").VendorWallet, {}, {}> & import("../restaurant/schema/vendor-wallet.schema").VendorWallet & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }) | {
        wallet_balance: number;
    }>;
    getVendorWalletTransactions(id: string, page: string, limit: string, req: any): Promise<{
        data: (import("mongoose").Document<unknown, {}, import("../restaurant/schema/vendor-wallet.schema").VendorWalletTransaction, {}, {}> & import("../restaurant/schema/vendor-wallet.schema").VendorWalletTransaction & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        })[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getVendorWalletLedger(id: string, page: string, limit: string, req: any): Promise<{
        data: {
            txn_id: any;
            type: any;
            source: any;
            amount: any;
            balance_before: any;
            balance_after: any;
            note: any;
            triggered_by: any;
            created_at: any;
            createdAt: any;
            order: any;
        }[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getLinkedDrivers(req: any): Promise<{
        success: boolean;
        data: (import("mongoose").FlattenMaps<{
            referral_id: string;
            is_verfication_submitted: boolean;
            verification: import("../driver/schema/driver.schema").DriverVerificationStatus;
            doc_update_verification: import("../driver/schema/driver.schema").DriverVerificationStatus;
            visa_doc: string;
            name: string;
            email: string;
            driver_service_type: import("../driver/schema/driver.schema").ServiceType;
            deactivate_at: number;
            service_type: string;
            gender: import("../driver/schema/driver.schema").Gender;
            country_code: string;
            rzr_contact_id: string;
            beneId: string;
            commission: number;
            ulternate_vehicle_types: string[];
            service_prefrence: string[];
            vehicle_type_id: string;
            phone: string;
            license_number: string;
            image: string;
            latitude: string;
            longitude: string;
            temp_email: string;
            temp_phone: string;
            temp_country_code: string;
            fleet_id: string;
            temp_email_otp: number;
            temp_phone_otp: number;
            temp_email_otp_at: number;
            temp_phone_otp_at: number;
            is_bank_added: boolean;
            stripe_customer_id: string;
            is_active: boolean;
            is_block: boolean;
            is_approved: boolean;
            is_doc_update: boolean;
            approved_on: number;
            reject_on: number;
            referral_code: string;
            referral_amount: number;
            applied_referral_code: string;
            missing_documents: Types.ObjectId[];
            applied_referral_code_consumed: boolean;
            reject_reason: string;
            phase_start_at: number;
            total_online_time: number;
            total_on_pickup_time: number;
            total_on_ride_time: number;
            last_phase_start_at: number;
            is_email_verify: boolean;
            is_phone_verify: boolean;
            status: string;
            ride_status: string;
            device_type: string;
            preferred_language: string;
            preferred_currency: string;
            currency_symbol: string;
            pending_submit_cash: number;
            pending_submit_cash_upated_at: number;
            customer_id: string;
            current_booking: string;
            current_pool: string;
            upcoming_booking: string;
            ratings: number;
            socket_id: string;
            connection_id: string;
            currently_send_ride_request: boolean;
            way_points: {
                lat: number;
                lng: number;
            }[];
            currently_send_ride_request_id: string;
            currently_send_ride_request_generate_at: number;
            heading: string;
            set_up_profile: boolean;
            set_up_vehicle: boolean;
            set_up_documents: boolean;
            block_reason: string;
            doc_expiry_type: string[];
            volunteer_ride_count: number;
            level: string;
            documents: {
                type_id: string;
                front_image_id: string;
                back_image_id: string;
                expire_date: number;
                is_expired: boolean;
            }[];
            is_deleted: boolean;
            is_document_missing: boolean;
            timeZone: string;
            created_at: number;
            updated_at: number;
            payout_mode: import("../configuration/schema/app-configuration.schema").PayoutType;
            selected_payout_mode: import("../configuration/schema/app-configuration.schema").PayoutType;
            location: {
                type: string;
                coordinates: number[];
            };
        }> & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    removeLinkedDriver(driverId: string, req: any): Promise<{
        success: boolean;
        message: string;
    }>;
    getVendorPayoutSummary(id: string, req: any): Promise<{
        total_paid_balances: number;
        total_paid_balances_formatted: string;
        settled_to_date_description: string;
        total_paid_payouts_count: number;
        pending_balances: number;
        pending_balances_formatted: string;
        orders_in_verification_window: number;
        pending_description: string;
        payout_frequency: string;
        payout_frequency_type: string;
        payout_schedule_label: string;
        payout_frequency_description: string;
        next_payout_date: string;
        next_payout_date_formatted: string;
        next_payout_timestamp: number;
        cycle_release_time: string;
        admin_approval: string;
        admin_payout_action: boolean;
        summary_cards: {
            total_paid: {
                title: string;
                amount: number;
                amount_formatted: string;
                subtext: string;
                payouts_count: number;
            };
            pending_balances: {
                title: string;
                amount: number;
                amount_formatted: string;
                subtext: string;
                orders_count: number;
            };
            payout_frequency: {
                title: string;
                cycle: string;
                subtext: string;
                type: string;
                schedule_days: any[];
            };
        };
        schedule_card: {
            title: string;
            active_schedule: string;
            next_payout: string;
            next_payout_date: string;
            cycle_release_time: string;
            admin_approval: string;
        };
        restaurant_info: {
            restaurant_id: any;
            restaurant_name: any;
            vendor_id: any;
            vendor_name: any;
            vendor_email: any;
            wallet_balance: number;
        };
    }>;
    getVendorPayoutDashboardSummaryAlias(id: string, req: any): Promise<{
        total_paid_balances: number;
        total_paid_balances_formatted: string;
        settled_to_date_description: string;
        total_paid_payouts_count: number;
        pending_balances: number;
        pending_balances_formatted: string;
        orders_in_verification_window: number;
        pending_description: string;
        payout_frequency: string;
        payout_frequency_type: string;
        payout_schedule_label: string;
        payout_frequency_description: string;
        next_payout_date: string;
        next_payout_date_formatted: string;
        next_payout_timestamp: number;
        cycle_release_time: string;
        admin_approval: string;
        admin_payout_action: boolean;
        summary_cards: {
            total_paid: {
                title: string;
                amount: number;
                amount_formatted: string;
                subtext: string;
                payouts_count: number;
            };
            pending_balances: {
                title: string;
                amount: number;
                amount_formatted: string;
                subtext: string;
                orders_count: number;
            };
            payout_frequency: {
                title: string;
                cycle: string;
                subtext: string;
                type: string;
                schedule_days: any[];
            };
        };
        schedule_card: {
            title: string;
            active_schedule: string;
            next_payout: string;
            next_payout_date: string;
            cycle_release_time: string;
            admin_approval: string;
        };
        restaurant_info: {
            restaurant_id: any;
            restaurant_name: any;
            vendor_id: any;
            vendor_name: any;
            vendor_email: any;
            wallet_balance: number;
        };
    }>;
    getVendorPayoutTable(id: string, query: VendorPayoutHistoryDto, req: any): Promise<{
        data: any[];
        summary_stats: {
            total_gross_sales: number;
            total_gross_sales_formatted: string;
            total_admin_fees: number;
            total_admin_fees_formatted: string;
            total_net_paid: number;
            total_net_paid_formatted: string;
            total_payouts_count: number;
            successful_payouts_count: number;
            pending_payouts_count: number;
            failed_payouts_count: number;
        };
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getVendorSalesAnalytics(query: VendorSalesAnalyticsQueryDto, req: any): Promise<{
        sales_analytics: {
            filter: any;
            start_date: string;
            end_date: string;
            total_sales: number;
            chart_data: {
                label: string;
                date: string;
                sales: number;
                orders_count: number;
            }[];
        };
    }>;
    shiftDatesToYesterdayGet(days?: number): Promise<{
        status: boolean;
        message: string;
        updated_counts: {
            orders: number;
            order_history: number;
            earnings: number;
            customer_slots: number;
            slots: number;
            payments: number;
            payouts: number;
            wallet_transactions: number;
            driver_wallet_transactions: number;
            vendor_wallet_transactions: number;
        };
    }>;
    shiftDatesToYesterdayPost(days?: number, body?: any): Promise<{
        status: boolean;
        message: string;
        updated_counts: {
            orders: number;
            order_history: number;
            earnings: number;
            customer_slots: number;
            slots: number;
            payments: number;
            payouts: number;
            wallet_transactions: number;
            driver_wallet_transactions: number;
            vendor_wallet_transactions: number;
        };
    }>;
    getVendorOrdersAnalytics(query: VendorOrdersAnalyticsQueryDto, req: any): Promise<{
        orders_analytics: {
            filter: any;
            start_date: string;
            end_date: string;
            summary: {
                total_orders: number;
                delivery: number;
                takeaway: number;
                pos: number;
                active: number;
                cancelled: number;
                catering: number;
                slot_booking: number;
            };
            chart_data: {
                key: string;
                label: string;
                date: string;
                total_orders: number;
                delivery: number;
                takeaway: number;
                pos: number;
                active: number;
                cancelled: number;
                catering: number;
                slot_booking: number;
            }[];
        };
    }>;
    getVendorItemAnalytics(query: VendorItemAnalyticsQueryDto, req: any): Promise<{
        status: boolean;
        type: string;
        top_selling_products: any;
        pagination: {
            page: number;
            limit: number;
            total: any;
            totalPages: number;
        };
        lowest_selling_products?: undefined;
        top_pagination?: undefined;
        lowest_pagination?: undefined;
    } | {
        status: boolean;
        type: string;
        lowest_selling_products: any;
        pagination: {
            page: number;
            limit: number;
            total: any;
            totalPages: number;
        };
        top_selling_products?: undefined;
        top_pagination?: undefined;
        lowest_pagination?: undefined;
    } | {
        status: boolean;
        type: string;
        top_selling_products: any;
        lowest_selling_products: any;
        top_pagination: {
            page: number;
            limit: number;
            total: any;
            totalPages: number;
        };
        lowest_pagination: {
            page: number;
            limit: number;
            total: any;
            totalPages: number;
        };
        pagination?: undefined;
    }>;
    getVendorTopLowSellingItemsAlias(query: VendorItemAnalyticsQueryDto, req: any): Promise<{
        status: boolean;
        type: string;
        top_selling_products: any;
        pagination: {
            page: number;
            limit: number;
            total: any;
            totalPages: number;
        };
        lowest_selling_products?: undefined;
        top_pagination?: undefined;
        lowest_pagination?: undefined;
    } | {
        status: boolean;
        type: string;
        lowest_selling_products: any;
        pagination: {
            page: number;
            limit: number;
            total: any;
            totalPages: number;
        };
        top_selling_products?: undefined;
        top_pagination?: undefined;
        lowest_pagination?: undefined;
    } | {
        status: boolean;
        type: string;
        top_selling_products: any;
        lowest_selling_products: any;
        top_pagination: {
            page: number;
            limit: number;
            total: any;
            totalPages: number;
        };
        lowest_pagination: {
            page: number;
            limit: number;
            total: any;
            totalPages: number;
        };
        pagination?: undefined;
    }>;
    downloadVendorSalesReport(query: any, req: any, res: any): Promise<any>;
    downloadVendorSalesReportAlias(query: any, req: any, res: any): Promise<any>;
}
