import { AxiosRequestConfig } from 'axios'; export interface ClientConfig { baseURL?: string; nodeIdentifier: string; /** Optional app identifier for app-specific backend rules */ supaAppId?: string; /** Optional SDK version (sent as X-Supa-SDK header) */ sdkVersion?: string; getAccessToken?: () => Promise; } export declare class ApiClient { private client; private getAccessToken?; private nodeIdentifier; private supaAppId?; private sdkVersion?; constructor(config?: ClientConfig); get(url: string, config?: AxiosRequestConfig): Promise; post(url: string, data?: any, config?: AxiosRequestConfig): Promise; put(url: string, data?: any, config?: AxiosRequestConfig): Promise; delete(url: string, config?: AxiosRequestConfig): Promise; patch(url: string, data?: any, config?: AxiosRequestConfig): Promise; setAccessTokenGetter(getter: () => Promise): void; getBaseURL(): string; } export declare function createApiClient(config?: ClientConfig): ApiClient; export declare function getApiClient(): ApiClient;