export type CreateMode = { kind: "file"; } | { kind: "sql"; } | { kind: "error"; message: string; }; /** * Decide whether `ds create` runs in file-upload or SQL mode (Feature #645). * Pure + exported so it is unit-testable without a backend. */ export declare function resolveCreateMode(opts: { file?: unknown; sql?: unknown; name?: unknown; domain?: unknown; }): CreateMode; /** * Parse one `--table-lookback` spec of the form `TABLE:COLUMN:DAYS`. Split from * the RIGHT so schema-qualified table names (`DB.SCHEMA.TABLE`) pass through * verbatim - column names can never contain `:` (server-validated identifiers). * Pure + exported so it is unit-testable without a backend. */ export declare function parseTableLookback(spec: string): { table: string; column: string; lookback_days: number; }; /** * Validate `ds refresh-config` flags and build the PATCH body. Pure + exported * so it is unit-testable without a backend. Throws on invalid input; the action * surfaces the message via errorOutput. Sets the COMPLETE incremental config - * omitted fields fall back to server defaults (merge window 3, reconciliation * off, table lookback windows cleared). */ export declare function buildRefreshConfigBody(opts: { mode?: unknown; watermarkColumn?: unknown; watermarkType?: unknown; mergeKey?: unknown; lookback?: unknown; mergeWindow?: unknown; reconciliation?: unknown; tableLookback?: unknown; }): Record;