import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as models from "./models/index.js"; export declare class Customers extends ClientSDK { /** * Update customer * * @remarks * Use when updating customer details (e.g. name, email, or metadata). Identify by id or external_customer_id. */ updateCustomer(body: models.UpdateCustomerRequest, id?: string | undefined, externalCustomerId?: string | undefined, options?: RequestOptions): Promise; /** * Create customer * * @remarks * Use when onboarding a new billing customer (e.g. sign-up or CRM sync). Ideal for linking via external_customer_id to your app's user id. */ createCustomer(request: models.CreateCustomerRequest, options?: RequestOptions): Promise; /** * Get customer by external ID * * @remarks * Use when resolving a customer by your app's id (e.g. from your user table). Ideal for integrations that key by external id. */ getCustomerByExternalId(externalId: string, options?: RequestOptions): Promise; /** * Get customer entitlements by external ID * * @remarks * Use when checking entitlements by your app's customer id (e.g. feature gating at the edge). Supports optional filters (feature_ids, subscription_ids). */ getCustomerEntitlementsByExternalID(externalId: string, options?: RequestOptions): Promise; /** * Get subscriptions for customer by external ID * * @remarks * Returns all subscriptions for a customer looked up by external_id, with line-item meters and entitlements attached (no pagination). */ getSubscriptionsForCustomer(externalId: string, expand?: string | undefined, options?: RequestOptions): Promise; /** * Query customers * * @remarks * Use when listing or searching customers (e.g. admin CRM or reporting). Returns a paginated list; supports filtering and sorting. */ queryCustomer(request: models.CustomerFilter, options?: RequestOptions): Promise; /** * Get customer usage summary * * @remarks * Use when showing a customer's usage (e.g. portal or overage alerts). Identify by customer_id or customer_lookup_key; supports filters. */ getCustomerUsageSummary(request?: models.GetCustomerUsageSummaryRequest | undefined, options?: RequestOptions): Promise; /** * Get customer * * @remarks * Use when you need to load a single customer (e.g. for a billing portal or to attach a subscription). */ getCustomer(id: string, options?: RequestOptions): Promise; /** * Delete customer * * @remarks * Use when removing a customer (e.g. GDPR or churn). Returns 204 No Content on success. */ deleteCustomer(id: string, options?: RequestOptions): Promise; /** * Get customer entitlements * * @remarks * Use when checking what a customer can access (e.g. feature gating or usage limits). Supports optional filters (feature_ids, subscription_ids). */ getCustomerEntitlements(id: string, options?: RequestOptions): Promise; /** * Get upcoming credit grant applications * * @remarks * Use when showing upcoming or pending credits for a customer (e.g. in a portal or for forecasting). */ getCustomerUpcomingGrants(id: string, options?: RequestOptions): Promise; } //# sourceMappingURL=customers.d.ts.map