import type { ClickHouseClient } from "@clickhouse/client"; import type { MigrationLogger } from "./logger.js"; export interface ConnectWithRetryOpts { label: string; signal?: AbortSignal; delays?: readonly number[]; logger?: MigrationLogger; } /** * Waits for the ClickHouse server to answer `/ping`, retrying `unreachable`, * `indeterminate` and `busy` failures across `delays` and `denied` ONLY for * the auth-propagation case (516, up to `AUTH_FAILED_MAX_RETRIES` attempts); * every other `denied` fails closed at once with the classification in the * message. * * `/ping` does NOT authenticate — a wrong password or a missing user * surfaces at the first real query, not here. */ export declare function connectWithRetry(client: ClickHouseClient, opts: ConnectWithRetryOpts): Promise;