import type { ClineAccountActionRequest, ProviderActionRequest } from "@cline/shared"; import type { ClineAccountBalance, ClineAccountOrganization, ClineAccountOrganizationBalance, ClineAccountOrganizationUsageTransaction, ClineAccountPaymentTransaction, ClineAccountUsageTransaction, ClineAccountUser, FeaturebaseTokenResponse } from "./types"; export interface ClineAccountOperations { fetchMe(): Promise; fetchBalance(userId?: string): Promise; fetchUsageTransactions(userId?: string): Promise; fetchPaymentTransactions(userId?: string): Promise; fetchUserOrganizations(): Promise; fetchOrganizationBalance(organizationId: string): Promise; fetchOrganizationUsageTransactions(input: { organizationId: string; memberId?: string; }): Promise; switchAccount(organizationId?: string | null): Promise; fetchFeaturebaseToken?(): Promise; } export declare function isClineAccountActionRequest(request: ProviderActionRequest): request is ClineAccountActionRequest; export declare function executeClineAccountAction(request: ClineAccountActionRequest, service: ClineAccountOperations): Promise; export interface ProviderActionExecutor { runProviderAction(request: ProviderActionRequest): Promise<{ result: unknown; }>; } export declare class RpcClineAccountService implements ClineAccountOperations { private readonly executor; constructor(executor: ProviderActionExecutor); fetchMe(): Promise; fetchBalance(userId?: string): Promise; fetchUsageTransactions(userId?: string): Promise; fetchPaymentTransactions(userId?: string): Promise; fetchUserOrganizations(): Promise; fetchOrganizationBalance(organizationId: string): Promise; fetchOrganizationUsageTransactions(input: { organizationId: string; memberId?: string; }): Promise; switchAccount(organizationId?: string | null): Promise; fetchFeaturebaseToken(): Promise; private request; }