import { IContainsTable, IPrimitiveValue, ISqlAdapter } from "@trong-orm/sql"; import { IBaseToken, TokenType } from "../../types"; import { ICTEState } from "../cte"; import { IOrReplaceState } from "../orReplace"; import { IReturningState } from "../returning"; import { ISelectStatement } from "./select"; import { IValuesStatement } from "./values"; export interface IInsertStatement extends IBaseToken, ICTEState, IReturningState, IOrReplaceState { _intoTable?: IContainsTable; _columnNames: string[]; _toInsertValue?: IValuesStatement | ISelectStatement | { columnName: string; value: IPrimitiveValue | IBaseToken; }[][]; setColumnNames(columnNames: string[]): IInsertStatement; withoutColumnNames(): IInsertStatement; insert(arg: IInsertArg): IInsertStatement; withoutInsert(): IInsertStatement; withoutInto(): IInsertStatement; into(val: string | IContainsTable): IInsertStatement; } declare type IRecArg = Record | Record[]; declare type IInsertArg = IValuesStatement | ISelectStatement | IRecArg; export declare const insert: (insertArg: IInsertArg) => IInsertStatement; export {};