import { FactoryProvider, ModuleMetadata } from "@nestjs/common";
export declare const KHALTI_CONFIG_OPTIONS = "KHALTI_CONFIG_OPTIONS";
export declare const KHALTI_PAYMENT_TEST_URL = "https://dev.khalti.com/api/v2/epayment/initiate/";
export declare const KHALTI_PAYMENT_URL = "https://khalti.com/api/v2/epayment/initiate/";
export declare const KHALTI_LOOKUP_TEST_URL = "https://dev.khalti.com/api/v2/epayment/lookup/";
export declare const KHALTI_LOOKUP_URL = "https://khalti.com/api/v2/epayment/lookup/";
export declare const KHALTI_VERIFY_URL = "https://khalti.com/api/v2/payment/verify/";
export declare enum PaymentMode {
    TEST = "TEST",
    LIVE = "LIVE"
}
export interface CustomerInfo {
    name: string;
    email: string;
    phone: string;
}
export interface AmountBreakdown {
    label: string;
    amount: number;
}
export interface ProductDetail {
    identity: string;
    name: string;
    total_price: number;
    quantity: number;
    unit_price: number;
}
export interface KhaltiDto {
    return_url: string;
    website_url: string;
    amount: number;
    purchase_order_id: string;
    purchase_order_name: string;
    customer_info?: CustomerInfo;
    amount_breakdown?: AmountBreakdown[];
    product_details?: ProductDetail[];
}
export interface KhaltiRequestDto {
    returnUrl: string;
    websiteUrl: string;
    amount: number;
    purchaseOrderId: string;
    purchaseOrderName: string;
    customerInfo?: CustomerInfo;
    amountBreakdown?: AmountBreakdown[];
    productDetails?: ProductDetail[];
}
export interface KhaltiOptions {
    paymentMode: PaymentMode;
    secretKey: string;
    initiateUrl?: string;
    initiateUrlForTest?: string;
    lookupUrl?: string;
    lookupUrlForTest?: string;
}
export interface KhaltiInitResponse {
    pidx: string;
    paymentUrl: string;
    expiresAt: string;
    expiresIn: number;
}
export interface KhaltiResponseDto {
    pidx: string;
    totalAmount: number;
    status: string;
    transactionId: string;
    fee: string;
    refunded: boolean;
}
type KhaltiAsyncOptions = Pick<ModuleMetadata, 'imports'> & Pick<FactoryProvider<KhaltiOptions>, 'useFactory' | 'inject'>;
export default KhaltiAsyncOptions;
//# sourceMappingURL=khalti.interface.d.ts.map