import { EntityClassType, EntityRelationType, IdType, ITzRepository, TDBAction } from '../../common/types'; import { ApplicationLogger } from '../../helpers'; import { DefaultCrudRepository as _DefaultCrudRepository, AnyObject, WhereBuilder as BaseWhereBuilder, Command, Count, DataObject, DefaultKeyValueRepository, EntityCrudRepository, Getter, HasManyRepositoryFactory, IsolationLevel, juggler, NamedParameters, PositionalParameters, Transaction, TransactionalEntityRepository, Where } from '@loopback/repository'; import { BaseEntity, BaseKVEntity, TBaseTzEntity } from './../models'; export declare class WhereBuilder extends BaseWhereBuilder { constructor(opts?: Where); newInstance(opts?: Where): WhereBuilder; clone(): WhereBuilder; } export declare abstract class DefaultCrudRepository extends _DefaultCrudRepository { /** * @experimental */ createHasManyPolymorphicRepositoryFactoryFor(opts: { relationName: string; principalType: string; targetRepositoryGetter: Getter>; }): HasManyRepositoryFactory; abstract existsWith(where?: Where, options?: TDBAction): Promise; abstract createWithReturn(data: DataObject, options?: TDBAction): Promise; abstract updateWithReturn(id: IdType, data: DataObject, options?: TDBAction): Promise; abstract upsertWith(data: DataObject, where: Where, options?: TDBAction): Promise; } export declare abstract class AbstractTzRepository extends DefaultCrudRepository implements ITzRepository, TransactionalEntityRepository { protected logger: ApplicationLogger; constructor(entityClass: EntityClassType, dataSource: juggler.DataSource, scope?: string); beginTransaction(options?: IsolationLevel | AnyObject): Promise; executeSql(command: Command, parameters: NamedParameters | PositionalParameters, options?: TDBAction): Promise; protected getObservers(opts: { operation: string; }): Array; protected notifyObservers(opts: { operation: string; [extra: symbol | string]: unknown | string; }): void; abstract mixTimestamp(entity: DataObject, options?: { newInstance: boolean; ignoreModified?: boolean; }): DataObject; abstract mixUserAudit(entity: DataObject, options?: { newInstance: boolean; authorId: IdType; }): DataObject; } export declare abstract class AbstractKVRepository extends DefaultKeyValueRepository { constructor(entityClass: EntityClassType, dataSource: juggler.DataSource); } export declare abstract class KVRepository extends AbstractKVRepository { constructor(entityClass: EntityClassType, dataSource: juggler.DataSource); } export declare abstract class ViewRepository extends DefaultCrudRepository { constructor(entityClass: EntityClassType, dataSource: juggler.DataSource); existsWith(where?: Where, options?: TDBAction): Promise; create(_data: DataObject, _options?: TDBAction): Promise; createAll(_datum: DataObject[], _options?: TDBAction): Promise; save(_entity: E, _options?: TDBAction): Promise; update(_entity: E, _options?: TDBAction): Promise; delete(_entity: E, _options?: TDBAction): Promise; updateAll(_data: DataObject, _where?: Where, _options?: TDBAction): Promise; updateById(_id: IdType, _data: DataObject, _options?: TDBAction): Promise; replaceById(_id: IdType, _data: DataObject, _options?: TDBAction): Promise; deleteAll(_where?: Where, _options?: TDBAction): Promise; deleteById(_id: IdType, _options?: TDBAction): Promise; createWithReturn(_data: DataObject, _options?: TDBAction): Promise; updateWithReturn(_id: IdType, _data: DataObject, _options?: TDBAction): Promise; upsertWith(_data: DataObject, _where: Where, _options?: TDBAction): Promise; } //# sourceMappingURL=base.repository.d.ts.map