import { PaginatedResponse } from '@edr/types'; import { FindManyOptions } from 'typeorm'; import { ListYardsQueryDto } from '../dto/list-rule-engine-query.dto'; import { Yard } from '../entities/yard.entity'; export interface IYardsRepository { findById(id: string): Promise; findByCode(code: string): Promise; findAll(options?: FindManyOptions): Promise; findAndCount(options?: FindManyOptions): Promise<[Yard[], number]>; findPaged(query: ListYardsQueryDto): Promise>; create(data: Partial): Promise; update(id: string, data: Partial): Promise; softDelete(id: string): Promise; } export const YARDS_REPOSITORY = Symbol('YARDS_REPOSITORY');