import { Config } from '../config/environment.js';
export interface RequestOptions {
    headers?: Record<string, string>;
    timeout?: number;
    params?: Record<string, any>;
    responseType?: 'json' | 'text' | 'blob' | 'arraybuffer' | 'document' | 'stream';
}
export declare class NexusClient {
    private readonly client;
    private readonly config;
    constructor(config: Config);
    private hasCredentials;
    private ensureCredentials;
    testConnection(): Promise<boolean>;
    get<T>(endpoint: string, options?: RequestOptions): Promise<T>;
    post<T>(endpoint: string, data?: any, options?: RequestOptions): Promise<T>;
    put<T>(endpoint: string, data?: any, options?: RequestOptions): Promise<T>;
    delete<T>(endpoint: string, options?: RequestOptions): Promise<T>;
    getServerInfo(): Promise<any>;
    isReadOnly(): boolean;
    getBaseUrl(): string;
}
//# sourceMappingURL=nexus-client.d.ts.map