/**
 * SBV ISO 20022 — pain.001.001.09 Outbound Builder
 * Xây dựng message CustomerCreditTransferInitiation (pain.001) từ dữ liệu KH.
 *
 * Sử dụng khi:
 *   - NHTM khởi tạo lệnh chuyển khoản qua API JSON → Gateway nhận và emit pain.001
 *   - Migration IBPS pain -> ISO 20022 pain.001 outbound flow
 *
 * Cơ quan chủ quản: Ngân hàng Nhà nước Việt Nam (SBV)
 */
/** Đầu vào từ NHTM hoặc KH gửi qua REST API */
export interface Pain001Input {
    /** Message ID duy nhất (do NHTM tạo, max 35 ký tự) */
    msgId: string;
    /** Ngày thực hiện lệnh (YYYY-MM-DD) */
    executionDate: string;
    /** BIC tổ chức khởi tạo */
    debtorBic: string;
    /** Số tài khoản người chuyển */
    debtorAcct: string;
    /** Tên người chuyển (max 140) */
    debtorName: string;
    /** BIC ngân hàng thụ hưởng */
    creditorBic: string;
    /** Số tài khoản người thụ hưởng */
    creditorAcct: string;
    /** Tên người thụ hưởng (max 140) */
    creditorName: string;
    /** Số tiền (đơn vị: VND nguyên) */
    amount: number;
    /** Mã tiền tệ (mặc định: VND) */
    currency?: string;
    /** Mục đích thanh toán ISO 20022 (SALA, TAXS, GOVT, ...) */
    purposeCode?: string;
    /** Nội dung chuyển tiền (max 140) */
    remittanceInfo?: string;
    /** Dịch vụ thanh toán: NURG (thông thường), URGP (khẩn) */
    serviceLevel?: 'NURG' | 'URGP' | 'SDVA';
    /** Hệ thống thanh toán nội tuyến: IBPS, MBRIDGE, VNLH */
    localInstrument?: 'IBPS' | 'MBRIDGE' | 'VNLH';
}
/** Kết quả build pain.001 */
export interface Pain001Result {
    /** XML message pain.001.001.09 hoàn chỉnh */
    isoXml: string;
    /** Business Application Header head.001.001.03 */
    businessAppHdr: string;
    /** SHA-256 hash để neo Gov-Chain */
    messageHash: string;
    /** Unique End-to-end Transaction Reference */
    uetr: string;
    /** Payment Information ID */
    pmtInfId: string;
}
/**
 * Xây dựng pain.001.001.09 từ Pain001Input.
 * Tự động gán:
 *  - UETR mới (UUID v4)
 *  - CreDtTm tại thời điểm gọi hàm (UTC+7)
 *  - Business Application Header (head.001)
 */
export declare function buildPain001(input: Pain001Input): Pain001Result;
//# sourceMappingURL=pain001-builder.d.ts.map