import { Token } from './tokens'; import { GetReturning, QueryExecutorFn, ResultType } from './types'; import { Column } from './column'; import { Expression } from './expression'; import { Query } from './query'; import { ResultSet } from './result-set'; import { Table } from './TableType'; export declare class UpdateQuery, Returning = number, TableColumns = T extends Table ? Columns : never> extends Query { private readonly queryExecutor; private readonly returningKeys; private readonly table; private readonly resultType; private readonly tokens; private _updateQueryBrand; constructor(queryExecutor: QueryExecutorFn, returningKeys: string[], table: T, resultType: ResultType, tokens: Token[]); then(onFulfilled?: ((value: Returning extends number ? Returning : ResultSet, false>[]) => Result1 | PromiseLike) | undefined | null, onRejected?: ((reason: any) => Result2 | PromiseLike) | undefined | null): Promise; where(condition: Expression): UpdateQuery; whereCurrentOf(cursorName: string): UpdateQuery ? Columns : never>; from(fromItem: Table): UpdateQuery; returning(column1: C1): UpdateQuery>; returning(column1: C1, column2: C2): UpdateQuery & GetReturning>; returning(column1: C1, column2: C2, column3: C3): UpdateQuery & GetReturning & GetReturning>; returning(column1: C1, column2: C2, column3: C3, column4: C4): UpdateQuery & GetReturning & GetReturning & GetReturning>; returning(column1: C1, column2: C2, column3: C3, column4: C4, column5: C5): UpdateQuery & GetReturning & GetReturning & GetReturning & GetReturning>; returning(column1: C1, column2: C2, column3: C3, column4: C4, column5: C5, column6: C6): UpdateQuery & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning>; returning(column1: C1, column2: C2, column3: C3, column4: C4, column5: C5, column6: C6, column7: C7): UpdateQuery & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning>; returning(column1: C1, column2: C2, column3: C3, column4: C4, column5: C5, column6: C6, column7: C7, column8: C8): UpdateQuery & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning>; returning(column1: C1, column2: C2, column3: C3, column4: C4, column5: C5, column6: C6, column7: C7, column8: C8, column9: C9): UpdateQuery & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning>; returning(column1: C1, column2: C2, column3: C3, column4: C4, column5: C5, column6: C6, column7: C7, column8: C8, column9: C9, column10: C10): UpdateQuery & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning & GetReturning>; } export declare const makeUpdate: (queryExecutor: QueryExecutorFn) => (table: T) => { set(values: T extends Table ? { [K in keyof Columns]?: (Columns[K] extends Column ? IsNotNull extends true ? DataType | Expression : DataType | Expression | undefined : never) | undefined; } : never): UpdateQuery ? Columns_1 : never>; };