import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import type { BillingAdapter, ResolvedConfig } from "../types.js"; import { type PlanCatalog, type ToolCapabilities } from "../plan-model.js"; /** * Per-org top-up settings, resolved at call time. * * A callback rather than a value because a top-up bought over MCP or the CLI has * no address form: the rate has to be derived from what is already known about * the customer (their stored billing country / VAT id), which only the app can * look up. */ export interface TopUpToolOptions { /** Stripe TaxRate ids for this org's top-up, e.g. via `taxRatesFor`. */ taxRates?: (orgId: string) => Promise | string[]; automaticTax?: boolean; successUrl?: string; cancelUrl?: string; } export declare function registerBillingOnlyTools(server: McpServer, adapter: BillingAdapter, config: ResolvedConfig, toolCosts: Record, /** The catalogue and how to find an org's plan — needed because what one purchase may be * is a PLAN's rule (`replenish.purchase.min`/`max`), not a global constant. */ plans: PlanCatalog | undefined, planFor: (orgId: string) => Promise, topUp?: TopUpToolOptions, caps?: ToolCapabilities, /** Whether this deployment can tell anybody anything. `set_spend_controls` refuses an * alert threshold without it, because nothing would read the number. */ canNotify?: boolean): void; //# sourceMappingURL=billing.d.ts.map