import type { CheckoutRequest } from '../models/CheckoutRequest'; import type { PortalRequest } from '../models/PortalRequest'; import type { SignupRequest } from '../models/SignupRequest'; import type { UsageStatsOut } from '../models/UsageStatsOut'; import type { CancelablePromise } from '../core/CancelablePromise'; export declare class AccountService { /** * Setup Intent Endpoint * Pre-signup: return Stripe SetupIntent client_secret for browser to collect payment method. * * No auth required (pre-signup). IP-throttled to 5 requests / 10 minutes per * client IP — generous for a real user retrying after a card error, brutal * for an attacker farming SetupIntents (each one creates a real Stripe * object even though it never gets confirmed). Beyond the throttle Stripe's * own fraud detection on duplicate card-on-file blocks abuse during the * /signup step. * * Browser uses returned client_secret to call ``stripe.confirmCardSetup()``. * @returns any Successful Response * @throws ApiError */ static accountSetupIntent(): CancelablePromise>; /** * Signup * Create new account on Free tier with payment method on file (anti-abuse). * * Two valid signup flows (see ``SignupRequest`` docstring): * * - **Browser flow** (humans): ``turnstile_token`` + ``setup_intent_id`` * - **Programmatic flow** (AI agents): ``payment_method_id`` direct * * Returns plaintext API key ONE TIME ONLY. Subsequent retrieval requires creating * a new key via POST /v1/account/api-keys. * * Anti-abuse: * - Browser flow: Turnstile blocks bots * - Programmatic flow: Stripe fraud detection on card-on-file blocks duplicates * - Both flows: email uniqueness, card-on-file always required * @returns any Successful Response * @throws ApiError */ static accountSignup({ requestBody, }: { requestBody: SignupRequest; }): CancelablePromise>; /** * Checkout * Upgrade Free -> Starter/Growth via Stripe Checkout. * @returns any Successful Response * @throws ApiError */ static accountCheckout({ requestBody, }: { requestBody: CheckoutRequest; }): CancelablePromise>; /** * Portal * Open Stripe Customer Portal session for self-service billing. * @returns any Successful Response * @throws ApiError */ static accountPortal({ requestBody, }: { requestBody: PortalRequest; }): CancelablePromise>; /** * List Api Keys * List all API keys owned by the calling customer (by owner_email). * @returns any Successful Response * @throws ApiError */ static accountListApiKeys(): CancelablePromise>; /** * Create Additional Api Key * Create another API key for an existing customer (same tier + Stripe customer). * @returns any Successful Response * @throws ApiError */ static accountCreateApiKey(): CancelablePromise>; /** * Revoke Api Key * Soft-revoke an API key (sets revoked_at). Owner-only. * @returns any Successful Response * @throws ApiError */ static accountRevokeApiKey({ keyId, }: { keyId: string; }): CancelablePromise>; /** * Request Export * Trigger GDPR Art. 20 data export via step-up email confirmation. * * Anti-exfiltration: stolen API key alone cannot exfiltrate the customer dossier. * Owner must click email link to confirm (signed token, 24h TTL). * @returns any Successful Response * @throws ApiError */ static accountRequestExport(): CancelablePromise>; /** * Confirm Export * Verify token + start async export generation. * * In v1: returns confirmation only. Future: generate full export, upload to R2, * send second email with signed URL. * @returns any Successful Response * @throws ApiError */ static accountConfirmExport({ token, }: { /** * Signed token from email link */ token: string; }): CancelablePromise>; /** * Usage Status * Current usage stats for the calling API key. * @returns UsageStatsOut Successful Response * @throws ApiError */ static accountUsage(): CancelablePromise; } //# sourceMappingURL=AccountService.d.ts.map