import { SQL } from 'drizzle-orm'; import { ExtraConfigColumn, PgInsertValue } from 'drizzle-orm/pg-core'; import { PostgresJsDatabase } from 'drizzle-orm/postgres-js'; export type InputOf = Omit & { id?: string; createdAt?: Date; updatedAt?: Date; }; export type EventsTableConfig = { schema?: string; name?: string; dataIndexes?: string[]; additionalIndexes?: { name: string; columns: [Partial | SQL, ...Partial[]]; }[]; }; export type ProjectionsTableConfig = { schema?: string; name?: string; dataIndexes?: string[]; additionalIndexes?: { name: string; columns: [Partial | SQL, ...Partial[]]; }[]; }; export declare function createEventsTable(config?: EventsTableConfig): import("drizzle-orm/pg-core").PgTableWithColumns<{ name: string; schema: undefined; columns: { id: import("drizzle-orm/pg-core").PgColumn<{ name: "id"; tableName: string; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: true; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; type: import("drizzle-orm/pg-core").PgColumn<{ name: "type"; tableName: string; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; data: import("drizzle-orm/pg-core").PgColumn<{ name: "data"; tableName: string; dataType: "json"; columnType: "PgJsonb"; data: unknown; driverParam: unknown; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; createdAt: import("drizzle-orm/pg-core").PgColumn<{ name: "created_at"; tableName: string; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; updatedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "updated_at"; tableName: string; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "pg"; }>; export declare function createProjectionsTable(config?: ProjectionsTableConfig): import("drizzle-orm/pg-core").PgTableWithColumns<{ name: string; schema: undefined; columns: { type: import("drizzle-orm/pg-core").PgColumn<{ name: "type"; tableName: string; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; id: import("drizzle-orm/pg-core").PgColumn<{ name: "id"; tableName: string; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; data: import("drizzle-orm/pg-core").PgColumn<{ name: "data"; tableName: string; dataType: "json"; columnType: "PgJsonb"; data: unknown; driverParam: unknown; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; latestEventId: import("drizzle-orm/pg-core").PgColumn<{ name: "latest_event_id"; tableName: string; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; createdAt: import("drizzle-orm/pg-core").PgColumn<{ name: "created_at"; tableName: string; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; updatedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "updated_at"; tableName: string; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "pg"; }>; export type GenericEventsType = (ReturnType)['$inferSelect']; export type GenericProjectionsType = (ReturnType)['$inferSelect']; export type GenericEventsTable = ReturnType; export type GenericProjectionsTable = ReturnType; export type GenericEventBase = GenericEventsType & { type: T; }; export type GenericEventInput = (ReturnType)['$inferInsert'] & K; export type PgInsertEvent = PgInsertValue>; export type DbOrTx> = T | Parameters[0]>[0];