import { VSplitConfig, ApiResponse } from '../types';
/**
 * API Client for backend communication
 */
export declare class ApiClient {
    private config;
    private baseHeaders;
    constructor(config: VSplitConfig);
    /**
     * Make a GET request
     */
    get<T = Record<string, unknown>>(endpoint: string): Promise<ApiResponse<T>>;
    /**
     * Make a POST request
     */
    post<T = Record<string, unknown>>(endpoint: string, data?: Record<string, unknown>): Promise<ApiResponse<T>>;
    /**
     * Make a PUT request
     */
    put<T = Record<string, unknown>>(endpoint: string, data?: Record<string, unknown>): Promise<ApiResponse<T>>;
    /**
     * Make a DELETE request
     */
    delete<T = Record<string, unknown>>(endpoint: string): Promise<ApiResponse<T>>;
    /**
     * Generic request method
     */
    private request;
    /**
     * Upload file (for future use)
     */
    uploadFile(endpoint: string, file: File): Promise<ApiResponse>;
}
