import type { DataFormat, IsSame, QueryParamsWithFormat } from '@clickhouse/client-common'; import { ClickHouseClient } from '@clickhouse/client-common'; import type Stream from 'stream'; import type { NodeClickHouseClientConfigOptions } from './config'; import type { ResultSet } from './result_set'; /** If the Format is not a literal type, fall back to the default behavior of the ResultSet, * allowing to call all methods with all data shapes variants, * and avoiding generated types that include all possible DataFormat literal values. */ export type QueryResult = IsSame extends true ? ResultSet : ResultSet; export declare class NodeClickHouseClient extends ClickHouseClient { /** See {@link ClickHouseClient.query}. */ query(params: QueryParamsWithFormat): Promise>; } export declare function createClient(config?: NodeClickHouseClientConfigOptions): NodeClickHouseClient;