/**
 * クライアントサイド用HTTPクライアント（ブラウザ環境）
 */
import { KsqlDbConfig } from './types';
import { PullQueryOptions } from './ksqldb-client';
export interface ClientConfig {
    url: string;
    apiKey?: string;
    apiSecret?: string;
    headers?: Record<string, string>;
    timeout?: number;
}
/**
 * ブラウザ環境用HTTPクライアント
 */
export declare class HttpClient {
    private config;
    private defaultHeaders;
    constructor(config: ClientConfig);
    /**
     * GET リクエストを送信
     */
    get(path: string, params?: Record<string, any>): Promise<any>;
    /**
     * POST リクエストを送信
     */
    post(path: string, data?: any): Promise<any>;
    /**
     * PUT リクエストを送信
     */
    put(path: string, data?: any): Promise<any>;
    /**
     * DELETE リクエストを送信
     */
    delete(path: string): Promise<any>;
    /**
     * ksqlDB クエリを実行
     */
    executeQuery(sql: string): Promise<any>;
    /**
     * Pull Query を実行（ブラウザ用）
     * @param sql - 実行するSQL文
     * @param options - Pull Queryのオプション
     */
    executePullQuery(sql: string, options?: PullQueryOptions): Promise<any>;
    private fetch;
    private handleResponse;
}
/**
 * ブラウザ環境用ksqlDBクライアント
 */
export declare class KsqlDbClientBrowser {
    private httpClient;
    private config;
    constructor(config: KsqlDbConfig);
    /**
     * クエリを実行
     */
    executeQuery(sql: string): Promise<any>;
    /**
     * Pull Query を実行
     * @param sql - 実行するSQL文
     * @param options - Pull Queryのオプション（デフォルトでオブジェクト形式を返す）
     */
    executePullQuery(sql: string, options?: PullQueryOptions): Promise<any>;
    /**
     * DDL文を実行
     */
    executeDDL(ddl: string): Promise<any>;
    /**
     * ストリーム/テーブル一覧を取得
     */
    listStreams(): Promise<any>;
    listTables(): Promise<any>;
    /**
     * トピック一覧を取得
     */
    listTopics(): Promise<any>;
    /**
     * スキーマ情報を取得
     */
    describeStream(streamName: string): Promise<any>;
    describeTable(tableName: string): Promise<any>;
    /**
     * 接続状態を確認
     */
    isConnected(): Promise<boolean>;
    /**
     * クライアント設定を取得
     */
    getConfig(): KsqlDbConfig;
}
/**
 * ブラウザ環境用ksqlDBクライアントを作成
 */
export declare function createKsqlDbClientBrowser(config: KsqlDbConfig): KsqlDbClientBrowser;
//# sourceMappingURL=http-client.d.ts.map