import type { Network } from "@x402/core/types";
export declare const SCHEME = "exact";
export declare const ASSET = "BTC";
export declare const ASSET_TRANSFER_METHOD = "bolt11";
export declare const PAYMENT_FLOW = "upfront";
export declare const CAIP_FAMILY = "lnbtc:*";
export declare const LNBTC_MAINNET: Network;
export declare const LNBTC_TESTNET: Network;
/**
 * Concrete lnbtc networks mapped to their BOLT11 currency prefix.
 */
export declare const LNBTC_NETWORKS: Readonly<Record<string, string>>;
export declare const DEFAULT_CLOCK_SKEW_SECONDS = 60;
/** Replay entries are retained at least this long after `invoice_end + skew`. */
export declare const REPLAY_RETENTION_SECONDS = 3600;
export declare const BINDING_DOMAIN_PREFIX = "x402:exact:lnbtc:bolt11:";
export declare const HTTP_PROFILE = "http:1";
export declare const MCP_PROFILE = "mcp:1";
export declare const DYNAMIC_EXTRA_FIELDS: string[];
/** Error reasons returned by the facilitator, verbatim from the specification. */
export declare const Errors: {
    readonly unsupportedScheme: "unsupported_scheme";
    readonly networkMismatch: "network_mismatch";
    readonly unsupportedNetwork: "unsupported_network";
    readonly duplicateSettlement: "duplicate_settlement";
    readonly asset: "invalid_exact_lnbtc_asset";
    readonly amount: "invalid_exact_lnbtc_amount";
    readonly amountMismatch: "invalid_exact_lnbtc_amount_mismatch";
    readonly payToMismatch: "invalid_exact_lnbtc_pay_to_mismatch";
    readonly payToMalformed: "invalid_exact_lnbtc_pay_to_malformed";
    readonly maxTimeoutMismatch: "invalid_exact_lnbtc_max_timeout_mismatch";
    readonly maxTimeout: "invalid_exact_lnbtc_max_timeout";
    readonly extraMismatch: "invalid_exact_lnbtc_extra_mismatch";
    readonly requestBinding: "invalid_exact_lnbtc_request_binding";
    readonly requestMismatch: "invalid_exact_lnbtc_request_mismatch";
    readonly assetTransferMethod: "invalid_exact_lnbtc_asset_transfer_method";
    readonly paymentFlow: "invalid_exact_lnbtc_payment_flow";
    readonly invoiceMissing: "invalid_exact_lnbtc_invoice_missing";
    readonly invoiceDecodeFailed: "invalid_exact_lnbtc_invoice_decode_failed";
    readonly invoiceDescription: "invalid_exact_lnbtc_invoice_description";
    readonly invoiceRequestMismatch: "invalid_exact_lnbtc_invoice_request_mismatch";
    readonly invoicePayeeMismatch: "invalid_exact_lnbtc_invoice_payee_mismatch";
    readonly invoiceCurrencyMismatch: "invalid_exact_lnbtc_invoice_currency_mismatch";
    readonly invoiceAmountMismatch: "invalid_exact_lnbtc_invoice_amount_mismatch";
    readonly invoiceExpiryMismatch: "invalid_exact_lnbtc_invoice_expiry_mismatch";
    readonly invoiceCreatedInFuture: "invalid_exact_lnbtc_invoice_created_in_future";
    readonly invoiceExpired: "invalid_exact_lnbtc_invoice_expired";
    readonly preimageMissing: "invalid_exact_lnbtc_preimage_missing";
    readonly preimageMalformed: "invalid_exact_lnbtc_preimage_malformed";
    readonly preimageLength: "invalid_exact_lnbtc_preimage_length";
    readonly preimageHashMismatch: "invalid_exact_lnbtc_preimage_hash_mismatch";
    readonly issuanceDenied: "exact_lnbtc_invoice_issuance_denied";
    readonly payerInvoiceMismatch: "invalid_exact_lnbtc_payer_invoice_mismatch";
    readonly payerPaymentHashMismatch: "invalid_exact_lnbtc_payer_payment_hash_mismatch";
    readonly payerAmountMismatch: "invalid_exact_lnbtc_payer_amount_mismatch";
    readonly paymentInFlight: "exact_lnbtc_payment_in_flight";
    readonly paymentNotPaid: "exact_lnbtc_payment_not_paid";
    readonly payerPreimageRequired: "invalid_exact_lnbtc_payer_preimage_required";
    readonly payerPreimageMalformed: "invalid_exact_lnbtc_payer_preimage_malformed";
    readonly payerPreimageHashMismatch: "invalid_exact_lnbtc_payer_preimage_hash_mismatch";
};
export type LnbtcErrorReason = (typeof Errors)[keyof typeof Errors];
/**
 * Error carrying a stable lnbtc reason string.
 */
export declare class LnbtcError extends Error {
    readonly reason: LnbtcErrorReason;
    /**
     * Creates an error whose message is the stable reason.
     *
     * @param reason - Stable reason string from {@link Errors}
     */
    constructor(reason: LnbtcErrorReason);
}
//# sourceMappingURL=constants.d.ts.map