/**
 * ksqlDB コネクション - REST API 経由でクエリを実行、DDL／DML を発行
 */
import { KsqlDbConfig } from './types';
/**
 * ksqlDB クライアントを初期化
 */
export declare function initializeKsqlDbClient(ksqlConfig: KsqlDbConfig): void;
/**
 * 配列レスポンスをオブジェクトに変換する関数
 * @param rows - データ行の配列
 * @param columnNames - カラム名の配列
 * @returns オブジェクトの配列
 */
export declare function transformArrayRowsToObjects(rows: any[][], columnNames: string[]): Record<string, any>[];
/**
 * オプション型 - Pull Queryの結果形式を指定
 */
export interface PullQueryOptions {
    /** レスポンス形式: 'object' (デフォルト) | 'array' */
    format?: 'object' | 'array';
    /** テーブル名の正規化を行うかどうか */
    normalizeTableName?: boolean;
}
/**
 * DDL/DML文を実行（CREATE, INSERT, UPDATE, DELETE, DROP など）
 * /ksql エンドポイントを使用
 */
export declare function executeQuery(sql: string): Promise<any>;
/**
 * Pull Query を実行（一度だけ結果を取得するSELECT文）
 * /query-stream エンドポイントを使用
 * @param sql - 実行するSQL文
 * @param options - Pull Queryのオプション
 */
export declare function executePullQuery(sql: string, options?: PullQueryOptions): Promise<any>;
/**
 * Push Query を実行（継続的にデータを受信するSELECT文）
 * /query-stream エンドポイントでストリーミング
 */
export declare function executePushQuery(sql: string, onData: (data: any) => void, onError?: (error: Error) => void, onComplete?: () => void): Promise<{
    terminate: () => void;
}>;
/**
 * 汎用クエリ実行（自動でエンドポイントを選択）
 */
export declare function executeAnyQuery(sql: string): Promise<any>;
/**
 * DDL文を実行（CREATE STREAM/TABLE など）
 */
export declare function executeDDL(ddl: string): Promise<any>;
/**
 * ストリーム/テーブル一覧を取得
 */
export declare function listStreams(): Promise<any>;
export declare function listTables(): Promise<any>;
/**
 * トピック一覧を取得
 */
export declare function listTopics(): Promise<any>;
/**
 * スキーマ情報を取得
 */
export declare function describeStream(streamName: string): Promise<any>;
export declare function describeTable(tableName: string): Promise<any>;
/**
 * クライアント設定を取得
 */
export declare function getClientConfig(): KsqlDbConfig | null;
/**
 * 接続状態を確認
 */
export declare function isConnected(): boolean;
/**
 * クライアントを閉じる
 */
export declare function closeClient(): void;
//# sourceMappingURL=ksqldb-client.d.ts.map