import type { ClineAccountBalance, ClineAccountOrganization, ClineAccountOrganizationBalance, ClineAccountOrganizationUsageTransaction, ClineAccountPaymentTransaction, ClineAccountUsageTransaction, ClineAccountUser, ClineOrganization, ClineSubscriptionPlan, FeaturebaseTokenResponse, UserCurrentPlan, UserRemoteConfigResponse } from "./types"; export interface ClineAccountServiceOptions { apiBaseUrl: string; getAuthToken: () => Promise; getCurrentUserId?: () => Promise | string | undefined | null; getOrganizationMemberId?: (organizationId: string) => Promise | string | undefined | null; getHeaders?: () => Promise | undefined> | Record | undefined; requestTimeoutMs?: number; fetchImpl?: typeof fetch; } export declare class ClineAccountService { private readonly apiBaseUrl; private readonly getAuthTokenFn; private readonly getCurrentUserIdFn; private readonly getOrganizationMemberIdFn; private readonly getHeadersFn; private readonly requestTimeoutMs; private readonly fetchImpl; constructor(options: ClineAccountServiceOptions); fetchMe(): Promise; fetchRemoteConfig(): Promise; fetchFeaturebaseToken(): Promise; fetchBalance(userId?: string): Promise; fetchUsageTransactions(userId?: string): Promise; fetchPaymentTransactions(userId?: string): Promise; fetchUserOrganizations(): Promise; fetchAvailableSubscriptionPlans(input?: { type?: "individual" | "teams"; }): Promise; fetchCurrentUserPlan(): Promise; fetchOrganization(organizationId: string): Promise; fetchOrganizationBalance(organizationId: string): Promise; fetchOrganizationUsageTransactions(input: { organizationId: string; memberId?: string; }): Promise; switchAccount(organizationId?: string | null): Promise; private resolveUserId; private resolveOrganizationMemberId; private request; }