import type * as mariadb from 'mariadb'; import type { LeafColumn, Table } from '../../schema.js'; import { StatementKind } from '../kind.js'; export type LeafColumnNormalizer = (expr: string) => string; export declare const nullIfEmptyString: (expr: string) => string; export declare const trimWhitespaces: (expr: string) => string; export declare const normalizeWhitespaces: (expr: string) => string; export declare const sanitize: (expr: string, extras?: ReadonlyArray) => string; export declare const slugify: (expr: string) => string; export declare const normalizeJSONArray: (expr: string, isNullable: boolean) => string; export declare const normalizeJSONObject: (expr: string, isNullable: boolean) => string; export declare const normalizeDraftJS: (expr: string, isNullable: boolean) => string; export declare const normalize: (expr: string, normalizers: ReadonlyArray) => string; export interface NormalizeStatementConfig { /** * @see https://mariadb.com/kb/en/ignore/ */ ignore?: boolean; customize?: (args: { column: LeafColumn; columnIdentifier: string; defaultNormalization: string | undefined; }) => string | undefined; /** * Update only a subset of the table */ where?: string; } /** * @see https://mariadb.com/kb/en/update/ */ export declare class NormalizeStatement implements mariadb.QueryOptions { readonly table: Table; readonly kind = StatementKind.DATA_MANIPULATION; readonly sql: string; static normalizations(table: Table, config?: NormalizeStatementConfig): Map; constructor(table: Table, config?: NormalizeStatementConfig); } //# sourceMappingURL=normalize.d.ts.map