import type { CTEBuilderCallback } from '../query-builder/cte-builder.js'; import type { QueryCreator } from '../query-creator.js'; import type { KyselyTypeError } from '../util/type-error.js'; import type { ReadonlyCommonTableExpression, ReadonlyQueryCreatorWithCommonTableExpression, ReadonlyRecursiveCommonTableExpression } from './readonly-with-parser.js'; /** * Similar to {@link QueryCreator} but read-only. */ export interface ReadonlyQueryCreator extends Pick, 'selectFrom' | 'selectNoFrom'> { /** * @deprecated not allowed with a read-only Kysely instance. */ deleteFrom(...args: any[]): KyselyTypeError<'not allowed with a read-only Kysely instance.'>; /** * @deprecated not allowed with a read-only Kysely instance. */ insertInto(...args: any[]): KyselyTypeError<'not allowed with a read-only Kysely instance.'>; /** * @deprecated not allowed with a read-only Kysely instance. */ mergeInto(...args: any[]): KyselyTypeError<'not allowed with a read-only Kysely instance.'>; /** * @deprecated not allowed with a read-only Kysely instance. */ replaceInto(...args: any[]): KyselyTypeError<'not allowed with a read-only Kysely instance.'>; /** * @deprecated not allowed with a read-only Kysely instance. */ updateTable(...args: any[]): KyselyTypeError<'not allowed with a read-only Kysely instance.'>; /** * Similar to {@link QueryCreator.with} but read-only. */ with>(nameOrBuilder: N | CTEBuilderCallback, expression: E): ReadonlyQueryCreatorWithCommonTableExpression; /** * Similar to {@link QueryCreator.withRecursive} but read-only. */ withRecursive>(nameOrBuilder: N | CTEBuilderCallback, expression: E): ReadonlyQueryCreatorWithCommonTableExpression; }