import { D as DeroChainId } from './types-Bsy2LUTI.js'; import { I as InvoiceEngine } from './invoice-engine-CfV5UZLo.js'; type X402PaymentPolicy = { name: string; amountAtomic: bigint; description?: string; ttlSeconds?: number; requiredConfirmations?: number; metadata?: Record; resource?: string; network?: DeroChainId; maxReceiptsPerDay?: number; maxAtomicPerWindow?: { amountAtomic: bigint; windowSeconds: number; }; }; type X402PolicyResolver = (request: Request) => X402PaymentPolicy | Promise; type X402RouteGuardConfig = { getEngine: () => Promise; receiptSecret?: string; receiptSecrets?: Record; policy: X402PaymentPolicy | X402PolicyResolver; receiptHeaderName?: string; enforceSingleUseReceipts?: boolean; protocolId?: string; }; type X402ChallengeResponse = { error: "payment_required"; payment: { protocol: string; network: DeroChainId; asset: "DERO"; amountAtomic: string; amountDisplay: string; invoiceId: string; integratedAddress: string; expiresAt: string; requiredConfirmations: number; resource: string; }; }; declare function createX402RouteGuard(config: X402RouteGuardConfig): (handler: (request: Request) => Promise | Response) => (request: Request) => Promise; export { type X402ChallengeResponse as X, type X402PaymentPolicy as a, type X402PolicyResolver as b, type X402RouteGuardConfig as c, createX402RouteGuard as d };