import mongoose, { HydratedDocument } from "mongoose";
declare class support {
    email: string;
    country_code: string;
    call: string;
    company_address: string;
    company_name: string;
    skype: string;
}
declare enum modes {
    STRIPE = "STRIPE",
    RAZORPAY = "RAZORPAY",
    CASHFREE = "CASHFREE"
}
export declare enum DistanceUnit {
    KM = "km",
    MILE = "mile"
}
export declare enum AirportChargesPayout {
    DRIVER = "DRIVER",
    ADMIN = "ADMIN"
}
export declare enum DriverGstPayout {
    DRIVER = "DRIVER",
    ADMIN = "ADMIN"
}
declare class social_links {
    facebook_url: string;
    instagram_url: string;
    youtube_url: string;
}
declare class email_creds {
    AppEmail: string;
    AppPassword: string;
}
declare class tax {
    tax_keyword: string;
    tax_keyword_hindi: string;
    tax_percentage: string;
    commission_tax_percentage: string;
    payout_tax_percentage: string;
}
export declare class StripeConfig {
    key: string;
    secret: string;
    webhook: string;
    platform_charges: string;
}
export declare class RazorpayConfig {
    key: string;
    secret: string;
    webhook: string;
    x_account: string;
    platform_charges: string;
}
export declare class CashfreeConfig {
    app_id: string;
    secret_key: string;
    payout_app_id: string;
    payout_secret_key: string;
    platform_charges: string;
}
export declare class PaymentMethods {
    card: boolean;
    wallet: boolean;
    cash: boolean;
    pass: boolean;
}
export declare class LogsRequired {
    idle: boolean;
    going_to_pickup: boolean;
    on_ride: boolean;
}
export declare enum JobAssignmentAlgorithm {
    RoundRobin = "RoundRobin",
    LeastServed = "LeastServed",
    Broadcast = "Broadcast"
}
export declare enum TransactionFeesPayBy {
    App = "app",
    User = "user"
}
export declare enum ServiceTypeForDrivers {
    FREELANCE = "freelance",
    SALARIED = "salaried"
}
export declare enum PayoutType {
    SUBSCRIPTION = "subscription",
    COMMISSION = "commission"
}
export declare enum GatewayTypes {
    STRIPE = "stripe",
    RAZORPAY = "razorpay",
    CASHFREE = "cashfree"
}
export declare class AppConfiguration {
    product_name: string;
    support: support;
    email_creds: email_creds;
    social_links: social_links;
    tax: tax;
    payment_mode: modes;
    stripe: StripeConfig;
    razorpay: RazorpayConfig;
    cashfree: CashfreeConfig;
    currency: string;
    distance_unit: string;
    transaction_fees_pay_by: TransactionFeesPayBy;
    payout_mode: string;
    airport_charges_payout: string;
    driver_gst_payout: string;
    driver_service_type: string[];
    payment_methods: PaymentMethods;
    logs_required: LogsRequired;
    use_service_area: boolean;
    police_number: string;
    payout_type: string[];
    payout_type_fleet: string[];
    job_asign_algorithm: string;
    show_booking_price_that_customer_paid_for_cash: boolean;
    show_booking_price_that_customer_paid_for_online: boolean;
}
export type AppConfigurationDocument = HydratedDocument<AppConfiguration>;
export declare const AppConfigurationModel: mongoose.Schema<AppConfiguration, mongoose.Model<AppConfiguration, any, any, any, mongoose.Document<unknown, any, AppConfiguration, any, {}> & AppConfiguration & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, AppConfiguration, mongoose.Document<unknown, {}, mongoose.FlatRecord<AppConfiguration>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<AppConfiguration> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export {};
