/** @public */ export type ConditionParam = string | readonly string[]; /** @public */ export type Constructable = T | (() => T); /** @public */ export type SelectParam = string | readonly string[] | Record; /** * @public * @example * ```ts * selectColumns({c1: true, c2: "count(*)", c3: "column"}) // "c1,count(*) AS c2,column as c3" * selectColumns("c1,count(*) AS c2,column as c3") // "c1,count(*) AS c2,column as c3" * ``` */ export declare function selectColumns(columns: Constructable): string; /** * 推断表插入类型 * @public * @param T - 表格创建类型 * @param Pa - 可选列 */ export type ToInsertType = { [key in keyof T as key extends Pa ? never : null extends T[key] ? never : key]: T[key]; } & { [key in keyof T as null extends T[key] ? key : key extends Pa ? key : never]?: T[key]; }; /** @public */ export type UpdateRowValue = { [key in keyof T]?: T[key] | String; }; /** @public */ export type TableType = { [key: string]: any; };