import { Types, Document, HydratedDocument } from 'mongoose';
export type ExpenseDocument = HydratedDocument<Expense>;
export declare enum ExpenseStatus {
    PENDING = "PENDING",
    APPROVED = "APPROVED",
    REJECTED = "REJECTED"
}
export declare enum ExpenseFilterType {
    APPROVED_EXPENSE = "APPROVED_EXPENSE",
    PENDING_EXPENSE = "PENDING_EXPENSE",
    APPROVED_FUEL_REFILL = "APPROVED_FUEL_REFILL"
}
export declare enum ExpenseCategory {
    FUEL_REFILL = "FUEL_REFILL",
    TOLL_FASTAG = "TOLL_FASTAG",
    FOOD = "FOOD",
    LOADING_UNLOADING = "LOADING_UNLOADING",
    TIRE_REPLACEMENT = "TIRE_REPLACEMENT",
    PREVENTIVE_MAINTENANCE = "PREVENTIVE_MAINTENANCE",
    BREAKDOWN_REPAIR = "BREAKDOWN_REPAIR",
    BATTERY_REPLACEMENT = "BATTERY_REPLACEMENT",
    OTHER = "OTHER"
}
export declare class Expense {
    expense_id: string;
    trip_id: {
        _id: Types.ObjectId | string;
        trip_id: string;
        pickup_location: string;
        delivery_location: string;
    };
    driver_id: {
        _id: Types.ObjectId | string;
        name: string;
        phone_no: string;
        country_code: string;
        profile_pic: string;
    };
    image_url: string;
    business_id: Types.ObjectId;
    category: string;
    type: string;
    category_hindi: string;
    description: string;
    amount: number;
    fuel_in_litre: number;
    service_center_name: string;
    odometre_image: string;
    meter_reading: number;
    odometre_extracted_reading: number;
    bill_extracted_data: any;
    status: ExpenseStatus;
    date: number;
    updated_by: Types.ObjectId;
    approved_by: {
        _id: Types.ObjectId | string;
        name: string;
        email: string;
        phone_no: string;
        user_type: string;
    };
    rejected_by: {
        _id: Types.ObjectId | string;
        name: string;
        email: string;
        phone_no: string;
        user_type: string;
    };
    created_by: {
        _id: Types.ObjectId | string;
        name: string;
        email: string;
        phone_no: string;
        country_code: string;
        user_type: string;
    };
    is_deleted: boolean;
    is_demo: boolean;
    created_at: number;
    updated_at: number;
}
export declare const ExpenseSchema: import("mongoose").Schema<Expense, import("mongoose").Model<Expense, any, any, any, Document<unknown, any, Expense, any> & Expense & {
    _id: Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, Expense, Document<unknown, {}, import("mongoose").FlatRecord<Expense>, {}> & import("mongoose").FlatRecord<Expense> & {
    _id: Types.ObjectId;
} & {
    __v: number;
}>;
