UNPKG

@n4it/typeorm-audit

Version:

TypeORM Auditing: Create history tables and manage changes of entities automagically.

929 lines (928 loc) 35.3 kB
import { DataSource, type DataSourceOptions, type EntityMetadata } from 'typeorm'; export declare const getAuditEntity: (entityMetadata: EntityMetadata) => Function; export declare const getAuditOptions: (options: DataSourceOptions) => Promise<{ entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "mysql" | "mariadb"; driver?: any; charset?: string; timezone?: string; connectTimeout?: number; acquireTimeout?: number; insecureAuth?: boolean; supportBigNumbers?: boolean; bigNumberStrings?: boolean; dateStrings?: boolean | string[]; debug?: boolean | string[]; trace?: boolean; multipleStatements?: boolean; legacySpatialSupport?: boolean; flags?: string[]; connectorPackage?: "mysql" | "mysql2"; replication?: { readonly master: import("typeorm/driver/mysql/MysqlConnectionCredentialsOptions").MysqlConnectionCredentialsOptions; readonly slaves: import("typeorm/driver/mysql/MysqlConnectionCredentialsOptions").MysqlConnectionCredentialsOptions[]; readonly canRetry?: boolean; readonly removeNodeErrorCount?: number; readonly restoreNodeTimeout?: number; readonly selector?: "RR" | "RANDOM" | "ORDER"; readonly defaultMode?: import("typeorm").ReplicationMode; }; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; poolSize?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; url?: string; host?: string; port?: number; username?: string; password?: string; database?: string; ssl?: any; socketPath?: string; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "postgres"; schema?: string; driver?: any; nativeDriver?: any; useUTC?: boolean; replication?: { readonly master: import("typeorm/driver/postgres/PostgresConnectionCredentialsOptions").PostgresConnectionCredentialsOptions; readonly slaves: import("typeorm/driver/postgres/PostgresConnectionCredentialsOptions").PostgresConnectionCredentialsOptions[]; readonly defaultMode?: import("typeorm").ReplicationMode; }; connectTimeoutMS?: number; uuidExtension?: "pgcrypto" | "uuid-ossp"; poolErrorHandler?: (err: any) => any; logNotifications?: boolean; installExtensions?: boolean; parseInt8?: boolean; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; poolSize?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; url?: string; host?: string; port?: number; username?: string; password?: string | (() => string) | (() => Promise<string>); database?: string; ssl?: boolean | import("tls").TlsOptions; applicationName?: string; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "cockroachdb"; timeTravelQueries: boolean; schema?: string; driver?: any; nativeDriver?: any; replication?: { readonly master: import("typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions").CockroachConnectionCredentialsOptions; readonly slaves: import("typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions").CockroachConnectionCredentialsOptions[]; readonly defaultMode?: import("typeorm").ReplicationMode; }; applicationName?: string; poolErrorHandler?: (err: any) => any; maxTransactionRetries?: number; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; poolSize?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; url?: string; host?: string; port?: number; username?: string; password?: string; database?: string; ssl?: boolean | import("tls").TlsOptions; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "sqlite"; database: string; driver?: any; key?: string; busyErrorRetry?: number; enableWAL?: boolean; flags?: number; poolSize?: never; busyTimeout?: number; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "mssql"; connectionTimeout?: number; requestTimeout?: number; stream?: boolean; schema?: string; driver?: any; pool?: { readonly max?: number; readonly min?: number; readonly maxWaitingClients?: number; readonly acquireTimeoutMillis?: number; readonly fifo?: boolean; readonly priorityRange?: number; readonly evictionRunIntervalMillis?: number; readonly numTestsPerRun?: number; readonly softIdleTimeoutMillis?: number; readonly idleTimeoutMillis?: number; readonly errorHandler?: (err: any) => any; }; options?: { readonly instanceName?: string; readonly fallbackToDefaultDb?: boolean; readonly enableAnsiNullDefault?: boolean; readonly connectTimeout?: number; readonly cancelTimeout?: number; readonly packetSize?: number; readonly useUTC?: boolean; readonly abortTransactionOnError?: boolean; readonly localAddress?: string; readonly useColumnNames?: boolean; readonly camelCaseColumns?: boolean; readonly disableOutputReturning?: boolean; readonly disableAsciiToUnicodeParamConversion?: boolean; readonly debug?: { readonly packet?: boolean; readonly data?: boolean; readonly payload?: boolean; readonly token?: boolean; }; readonly isolation?: "READ_UNCOMMITTED" | "READ_COMMITTED" | "REPEATABLE_READ" | "SERIALIZABLE" | "SNAPSHOT"; readonly connectionIsolationLevel?: "READ_UNCOMMITTED" | "READ_COMMITTED" | "REPEATABLE_READ" | "SERIALIZABLE" | "SNAPSHOT"; readonly readOnlyIntent?: boolean; readonly encrypt?: boolean; readonly cryptoCredentialsDetails?: any; readonly rowCollectionOnDone?: boolean; readonly rowCollectionOnRequestCompletion?: boolean; readonly tdsVersion?: string; readonly enableArithAbort?: boolean; readonly appName?: string; readonly trustServerCertificate?: boolean; }; replication?: { readonly master: import("typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions").SqlServerConnectionCredentialsOptions; readonly slaves: import("typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions").SqlServerConnectionCredentialsOptions[]; readonly defaultMode?: import("typeorm").ReplicationMode; }; poolSize?: never; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; url?: string; host?: string; port?: number; database?: string; username?: string; password?: string; authentication?: import("typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions").SqlServerConnectionCredentialsAuthenticationOptions; domain?: string; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "sap"; schema?: string; driver?: any; hanaClientDriver?: any; pool?: { readonly max?: number; readonly min?: number; readonly maxWaitingRequests?: number; readonly requestTimeout?: number; readonly checkInterval?: number; readonly idleTimeout?: number; readonly poolErrorHandler?: (err: any) => any; }; poolSize?: never; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; host?: string; port?: number; username?: string; password?: string; database?: string; encrypt?: boolean; sslValidateCertificate?: boolean; key?: string; cert?: string; ca?: string; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "oracle"; schema?: string; driver?: any; thickMode?: boolean | import("typeorm/driver/oracle/OracleConnectionOptions").OracleThickModeOptions; useUTC?: boolean; replication?: { readonly master: import("typeorm/driver/oracle/OracleConnectionCredentialsOptions").OracleConnectionCredentialsOptions; readonly slaves: import("typeorm/driver/oracle/OracleConnectionCredentialsOptions").OracleConnectionCredentialsOptions[]; }; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; poolSize?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; url?: string; host?: string; port?: number; username?: string; password?: string; database?: string; sid?: string; serviceName?: string; connectString?: string; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "cordova"; database: string; driver?: any; location: string; poolSize?: never; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "nativescript"; database: string; driver: any; readOnly?: boolean; key?: string; multithreading?: boolean; migrate?: boolean; iosFlags?: number; androidFlags?: number; poolSize?: never; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "react-native"; database: string; driver?: any; location: string; poolSize?: never; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "sqljs"; database?: Uint8Array; driver?: any; sqlJsConfig?: any; autoSave?: boolean; autoSaveCallback?: Function; location?: string; useLocalForage?: boolean; poolSize?: never; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "mongodb"; url?: string; host?: string; hostReplicaSet?: string; port?: number; username?: string; password?: string; database?: string; directConnection?: boolean; driver?: any; ssl?: boolean; sslValidate?: boolean; sslCA?: string | Buffer; sslCert?: string | Buffer; sslKey?: string; sslPass?: string | Buffer; sslCRL?: string | Buffer; autoReconnect?: boolean; noDelay?: boolean; keepAlive?: number; connectTimeoutMS?: number; family?: number; socketTimeoutMS?: number; reconnectTries?: number; reconnectInterval?: number; ha?: boolean; haInterval?: number; replicaSet?: string; acceptableLatencyMS?: number; secondaryAcceptableLatencyMS?: number; connectWithNoPrimary?: boolean; authSource?: string; w?: string | number; wtimeout?: number; j?: boolean; forceServerObjectId?: boolean; serializeFunctions?: boolean; ignoreUndefined?: boolean; raw?: boolean; promoteLongs?: boolean; promoteBuffers?: boolean; promoteValues?: boolean; domainsEnabled?: boolean; bufferMaxEntries?: number; readPreference?: import("typeorm").ReadPreference | string; pkFactory?: any; promiseLibrary?: any; readConcern?: any; maxStalenessSeconds?: number; loggerLevel?: "error" | "warn" | "info" | "debug"; checkServerIdentity?: boolean | Function; validateOptions?: boolean | any; appname?: string; authMechanism?: string; compression?: any; fsync?: boolean; readPreferenceTags?: any[]; numberOfRetries?: number; auto_reconnect?: boolean; monitorCommands?: boolean; minSize?: number; useNewUrlParser?: boolean; useUnifiedTopology?: boolean; autoEncryption?: any; retryWrites?: boolean; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; poolSize?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "aurora-mysql"; region: string; secretArn: string; resourceArn: string; database: string; driver?: any; serviceConfigOptions?: { [key: string]: any; }; formatOptions?: { [key: string]: any; castParameters: boolean; }; legacySpatialSupport?: boolean; poolSize?: never; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; url?: string; host?: string; port?: number; username?: string; password?: string; ssl?: any; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "aurora-postgres"; region: string; secretArn: string; resourceArn: string; database: string; driver?: any; uuidExtension?: "pgcrypto" | "uuid-ossp"; transformParameters?: boolean; poolErrorHandler?: (err: any) => any; serviceConfigOptions?: { [key: string]: any; }; formatOptions?: { [key: string]: any; castParameters: boolean; }; poolSize?: never; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "expo"; database: string; driver: any; poolSize?: never; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "better-sqlite3"; database: string; driver?: any; key?: string; statementCacheSize?: number; prepareDatabase?: (db: any) => void | Promise<void>; readonly?: boolean; fileMustExist?: boolean; timeout?: number; verbose?: Function; nativeBinding?: string; poolSize?: never; enableWAL?: boolean; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "capacitor"; driver: any; database: string; mode?: "no-encryption" | "encryption" | "secret" | "newsecret"; version?: number; journalMode?: "DELETE" | "TRUNCATE" | "PERSIST" | "MEMORY" | "WAL" | "OFF"; poolSize?: never; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; } | { entities: (string | Function | import("typeorm").EntitySchema<any>)[]; subscribers: (string | Function)[]; type: "spanner"; driver?: any; database?: string; schema?: string; charset?: string; timezone?: string; connectTimeout?: number; acquireTimeout?: number; insecureAuth?: boolean; supportBigNumbers?: boolean; bigNumberStrings?: boolean; dateStrings?: boolean | string[]; debug?: boolean | string[]; trace?: boolean; multipleStatements?: boolean; legacySpatialSupport?: boolean; flags?: string[]; replication?: { readonly master: import("typeorm/driver/spanner/SpannerConnectionCredentialsOptions").SpannerConnectionCredentialsOptions; readonly slaves: import("typeorm/driver/spanner/SpannerConnectionCredentialsOptions").SpannerConnectionCredentialsOptions[]; readonly canRetry?: boolean; readonly removeNodeErrorCount?: number; readonly restoreNodeTimeout?: number; readonly selector?: "RR" | "RANDOM" | "ORDER"; readonly defaultMode?: import("typeorm").ReplicationMode; }; poolSize?: never; name?: string; migrations?: import("typeorm").MixedList<Function | string>; migrationsTableName?: string; migrationsTransactionMode?: "all" | "none" | "each"; metadataTableName?: string; namingStrategy?: import("typeorm").NamingStrategyInterface; logging?: import("typeorm").LoggerOptions; logger?: "advanced-console" | "simple-console" | "file" | "debug" | import("typeorm").Logger; maxQueryExecutionTime?: number; synchronize?: boolean; migrationsRun?: boolean; dropSchema?: boolean; entityPrefix?: string; entitySkipConstructor?: boolean; extra?: any; relationLoadStrategy?: "join" | "query"; typename?: string; cache?: boolean | { readonly type?: "database" | "redis" | "ioredis" | "ioredis/cluster"; readonly provider?: (connection: DataSource) => import("typeorm/cache/QueryResultCache").QueryResultCache; readonly tableName?: string; readonly options?: any; readonly alwaysEnabled?: boolean; readonly duration?: number; readonly ignoreErrors?: boolean; }; isolateWhereStatements?: boolean; instanceId?: string; projectId?: string; databaseId?: string; }>; export declare const withAuditDataSource: (dataSource: DataSource) => Promise<DataSource>;