import { FindManyOptions } from 'typeorm';
import { PriorityConfig } from '../entities/priority-config.entity';

export const PRIORITY_CONFIGS_REPOSITORY = Symbol('PRIORITY_CONFIGS_REPOSITORY');

export interface IPriorityConfigsRepository {
  findById(id: string): Promise<PriorityConfig | null>;
  findAll(options?: FindManyOptions<PriorityConfig>): Promise<PriorityConfig[]>;
  findAndCount(options?: FindManyOptions<PriorityConfig>): Promise<[PriorityConfig[], number]>;
  findAllActive(): Promise<PriorityConfig[]>;
  create(data: Partial<PriorityConfig>): Promise<PriorityConfig>;
  update(id: string, data: Partial<PriorityConfig>): Promise<PriorityConfig | null>;
  softDelete(id: string): Promise<void>;
}
