import { C as Customer, A as AutumnError, a as CreateCustomerParams, U as UpdateCustomerParams, B as BillingPortalParams, b as BillingPortalResponse, c as AttachParams, d as AttachResult, E as EntitledParams, e as EntitledResult, f as EventParams, g as EventResult, h as AppEnv, I as Infinite, P as ProductItemIntervalType, i as UsageModel, F as FreeTrialDuration, j as CustomerData } from './genTypes-RkqyS6Mn.mjs'; declare class Autumn { private readonly secretKey; private readonly publishableKey; private level; private headers; private url; constructor(options?: { secretKey?: string; publishableKey?: string; url?: string; }); getLevel(): "secret" | "publishable"; private handleResponse; get(path: string): Promise<{ data: null; error: { message: any; code: any; }; } | { data: any; error: null; }>; post(path: string, body: any): Promise<{ data: null; error: { message: any; code: any; }; } | { data: any; error: null; }>; customers: { get: (id: string) => Promise<{ data: Customer | null; error: AutumnError | null; }>; create: (params?: CreateCustomerParams) => Promise<{ data: Customer | null; error: AutumnError | null; }>; update: (id: string, params: UpdateCustomerParams) => Promise<{ data: Customer | null; error: AutumnError | null; }>; billingPortal: (id: string, params?: BillingPortalParams) => Promise<{ data: BillingPortalResponse | null; error: AutumnError | null; }>; }; products: { get: (id: string) => Promise<{ data: Product | null; error: AutumnError | null; }>; create: (params?: CreateProductParams) => Promise<{ data: Product | null; error: AutumnError | null; }>; }; attach(params: AttachParams): Promise<{ data: null; error: AutumnError; } | { data: AttachResult; error: null; }>; entitled(params: EntitledParams): Promise<{ data: null; error: AutumnError; } | { data: EntitledResult; error: null; }>; event(params: EventParams): Promise<{ data: null; error: AutumnError; } | { data: EventResult; error: null; }>; } interface ProductItem { feature_id?: string; included_usage?: number | typeof Infinite; interval?: ProductItemIntervalType; usage_model?: UsageModel; price?: number; billing_units?: number; entity_feature_id?: string; reset_usage_on_billing?: boolean; reset_usage_when_enabled?: boolean; } interface FreeTrial { duration: FreeTrialDuration; length: number; unique_fingerprint: boolean; } interface Product { autumn_id: string; created_at: number; id: string; name: string; env: AppEnv; is_add_on: boolean; is_default: boolean; group: string; version: number; items: ProductItem[]; free_trial: FreeTrial | null; } interface CreateProductParams { id: string; name?: string; is_add_on?: boolean; is_default?: boolean; items?: ProductItem[]; free_trial?: FreeTrial; } declare const createAutumnClient: () => Autumn; declare const getOrCreateCustomer: ({ customerId, customerData, }: { customerId: string; customerData?: CustomerData; }) => Promise<{ data: Customer | null; error: AutumnError | null; }>; declare const getCustomer: ({ customerId }: { customerId: string; }) => Promise<{ data: Customer | null; error: AutumnError | null; }>; export { createAutumnClient, getCustomer, getOrCreateCustomer };