import * as mongoose from 'mongoose';
import { HydratedDocument } from 'mongoose';
import { PaymentGateway } from 'src/configuration/schema/app-configuration.schema';
export declare enum PayoutStatus {
    Pending = "pending",
    Success = "success",
    Failed = "failed"
}
export declare enum PayoutType {
    Driver = "driver",
    Restaurant = "restaurant"
}
export declare class Payout {
    type: PayoutType;
    driver_id: string;
    restaurant_id: string;
    order_id: string;
    amount: number;
    delivery_charge: number;
    food_amount: number;
    commission: number;
    transaction_ref: string;
    status: PayoutStatus;
    failure_reason: string;
    fund_account_id: string;
    bank_account_id: string;
    payout_week_start: Date;
    payout_week_end: Date;
    invoice_url: string;
    created_at: number;
    updated_at: number;
    payment_by: PaymentGateway;
}
export type PayoutDocument = HydratedDocument<Payout>;
export declare const PayoutModel: mongoose.Schema<Payout, mongoose.Model<Payout, any, any, any, mongoose.Document<unknown, any, Payout, any, {}> & Payout & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, Payout, mongoose.Document<unknown, {}, mongoose.FlatRecord<Payout>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<Payout> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
