import type { ClickHouseClient } from "@clickhouse/client"; import type { MigrationLogger } from "./logger.js"; export declare function hasSqlContent(chunk: string): boolean; /** * Extract a `-- fjall:skip-if: ` directive from a migration * file's leading comment block (consecutive lines from the top that are empty * or start with `--`). A directive appearing after the first statement is * deliberately NOT honoured — the contract is file-level, declared up front. * * Returns the expression, or `undefined` when no directive is present. * Throws on a duplicate directive or an empty expression (an unevaluable * guard must fail loudly, never silently authorise or omit a skip). */ export declare function parseSkipIfDirective(sql: string): string | undefined; export interface RunSqlMigrationsOpts { client: ClickHouseClient; dir: string; skipFilesMatching?: RegExp; signal?: AbortSignal; logger?: MigrationLogger; } export interface RunSqlMigrationsResult { applied: readonly string[]; } export declare function runSqlMigrations(opts: RunSqlMigrationsOpts): Promise;