/**
 * ZNS Constants - Các hằng số theo chuẩn Zalo API
 */
import { ZNSTemplateType, ZNSTemplateTag, ZNSButtonType, ZNSParamType } from '../types/zns';
/**
 * Template Type mapping với description
 */
export declare const ZNS_TEMPLATE_TYPES: {
    readonly 1: {
        readonly value: ZNSTemplateType.CUSTOM;
        readonly name: "ZNS tùy chỉnh";
        readonly description: "Template tùy chỉnh cho các mục đích khác nhau";
    };
    readonly 2: {
        readonly value: ZNSTemplateType.AUTHENTICATION;
        readonly name: "ZNS xác thực";
        readonly description: "Template cho việc xác thực OTP, mã PIN";
    };
    readonly 3: {
        readonly value: ZNSTemplateType.PAYMENT_REQUEST;
        readonly name: "ZNS yêu cầu thanh toán";
        readonly description: "Template yêu cầu thanh toán";
    };
    readonly 4: {
        readonly value: ZNSTemplateType.VOUCHER;
        readonly name: "ZNS voucher";
        readonly description: "Template gửi voucher, khuyến mãi";
    };
    readonly 5: {
        readonly value: ZNSTemplateType.SERVICE_RATING;
        readonly name: "ZNS đánh giá dịch vụ";
        readonly description: "Template yêu cầu đánh giá dịch vụ";
    };
};
/**
 * Template Tag mapping với description
 */
export declare const ZNS_TEMPLATE_TAGS: {
    readonly "1": {
        readonly value: ZNSTemplateTag.TRANSACTION;
        readonly name: "Transaction";
        readonly description: "Giao dịch, thanh toán";
    };
    readonly "2": {
        readonly value: ZNSTemplateTag.CUSTOMER_CARE;
        readonly name: "Customer Care";
        readonly description: "Chăm sóc khách hàng";
    };
    readonly "3": {
        readonly value: ZNSTemplateTag.PROMOTION;
        readonly name: "Promotion";
        readonly description: "Khuyến mãi, quảng cáo";
    };
};
/**
 * Button Type mapping với description
 */
export declare const ZNS_BUTTON_TYPES: {
    readonly 1: {
        readonly value: ZNSButtonType.URL;
        readonly name: "URL";
        readonly description: "Mở đường link";
    };
    readonly 2: {
        readonly value: ZNSButtonType.PHONE;
        readonly name: "Phone";
        readonly description: "Gọi điện thoại";
    };
    readonly 3: {
        readonly value: ZNSButtonType.SMS;
        readonly name: "SMS";
        readonly description: "Gửi tin nhắn SMS";
    };
    readonly 4: {
        readonly value: ZNSButtonType.APP;
        readonly name: "App";
        readonly description: "Mở ứng dụng";
    };
    readonly 5: {
        readonly value: ZNSButtonType.DEEPLINK;
        readonly name: "Deeplink";
        readonly description: "Mở deeplink";
    };
    readonly 6: {
        readonly value: ZNSButtonType.MAP;
        readonly name: "Map";
        readonly description: "Mở bản đồ";
    };
    readonly 7: {
        readonly value: ZNSButtonType.CALENDAR;
        readonly name: "Calendar";
        readonly description: "Thêm vào lịch";
    };
    readonly 8: {
        readonly value: ZNSButtonType.COPY;
        readonly name: "Copy";
        readonly description: "Sao chép nội dung";
    };
};
/**
 * Parameter Type mapping với description và max length
 */
export declare const ZNS_PARAM_TYPES: {
    readonly "1": {
        readonly value: ZNSParamType.CUSTOMER_NAME;
        readonly name: "Tên khách hàng";
        readonly maxLength: 30;
    };
    readonly "2": {
        readonly value: ZNSParamType.PHONE_NUMBER;
        readonly name: "Số điện thoại";
        readonly maxLength: 15;
    };
    readonly "3": {
        readonly value: ZNSParamType.ADDRESS;
        readonly name: "Địa chỉ";
        readonly maxLength: 200;
    };
    readonly "4": {
        readonly value: ZNSParamType.CODE;
        readonly name: "Mã số";
        readonly maxLength: 30;
    };
    readonly "5": {
        readonly value: ZNSParamType.CUSTOM_LABEL;
        readonly name: "Nhãn tùy chỉnh";
        readonly maxLength: 30;
    };
    readonly "6": {
        readonly value: ZNSParamType.TRANSACTION_STATUS;
        readonly name: "Trạng thái giao dịch";
        readonly maxLength: 30;
    };
    readonly "7": {
        readonly value: ZNSParamType.CONTACT_INFO;
        readonly name: "Thông tin liên hệ";
        readonly maxLength: 50;
    };
    readonly "8": {
        readonly value: ZNSParamType.GENDER_TITLE;
        readonly name: "Giới tính / Danh xưng";
        readonly maxLength: 5;
    };
    readonly "9": {
        readonly value: ZNSParamType.PRODUCT_BRAND;
        readonly name: "Tên sản phẩm / Thương hiệu";
        readonly maxLength: 200;
    };
    readonly "10": {
        readonly value: ZNSParamType.QUANTITY_AMOUNT;
        readonly name: "Số lượng / Số tiền";
        readonly maxLength: 20;
    };
    readonly "11": {
        readonly value: ZNSParamType.TIME;
        readonly name: "Thời gian";
        readonly maxLength: 20;
    };
    readonly "12": {
        readonly value: ZNSParamType.OTP;
        readonly name: "OTP";
        readonly maxLength: 10;
    };
    readonly "13": {
        readonly value: ZNSParamType.URL;
        readonly name: "URL";
        readonly maxLength: 200;
    };
    readonly "14": {
        readonly value: ZNSParamType.CURRENCY;
        readonly name: "Tiền tệ (VNĐ)";
        readonly maxLength: 12;
    };
    readonly "15": {
        readonly value: ZNSParamType.BANK_TRANSFER_NOTE;
        readonly name: "Bank transfer note";
        readonly maxLength: 90;
    };
};
/**
 * Template Type và Tag compatibility matrix
 */
export declare const ZNS_TEMPLATE_TAG_COMPATIBILITY: Record<ZNSTemplateType, ZNSTemplateTag[]>;
/**
 * Validation functions
 */
export declare const ZNSValidation: {
    /**
     * Kiểm tra template name hợp lệ
     */
    readonly isValidTemplateName: (name: string) => boolean;
    /**
     * Kiểm tra note hợp lệ
     */
    readonly isValidNote: (note: string) => boolean;
    /**
     * Kiểm tra tag có tương thích với template type không
     */
    readonly isTagCompatibleWithType: (templateType: ZNSTemplateType, tag: ZNSTemplateTag) => boolean;
    /**
     * Kiểm tra param value có hợp lệ với type không
     */
    readonly isValidParamValue: (paramType: ZNSParamType, value: string) => boolean;
};
//# sourceMappingURL=zns.constants.d.ts.map