import { HydratedDocument } from 'mongoose';
import * as mongoose from 'mongoose';
export declare enum CreditTransactionType {
    FromBank = "from_bank",
    CustomerReferral = "customer_referral",
    DriverReferral = "driver_referral",
    OwnerReferral = "owner_referral",
    Booking = "booking",
    BookingRefund = "booking_refund"
}
export declare enum CreditTransactionStatus {
    Pending = "pending",
    Success = "success",
    Failed = "failed"
}
export declare class CreditTransaction {
    customer_id: string;
    company_id: string;
    booking_id: string;
    credit_amount: number;
    transaction_type: string;
    status: string;
    is_consumed: boolean;
}
export type CreditTransactionDocument = HydratedDocument<CreditTransaction>;
export declare const CreditTransactionSchema: mongoose.Schema<CreditTransaction, mongoose.Model<CreditTransaction, any, any, any, mongoose.Document<unknown, any, CreditTransaction, any, {}> & CreditTransaction & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, CreditTransaction, mongoose.Document<unknown, {}, mongoose.FlatRecord<CreditTransaction>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<CreditTransaction> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
