import { SarReport } from '../entities/sar-report.entity';

export const SAR_REPORT_REPOSITORY = Symbol('ISarReportRepository');

export interface ISarReportRepository {
  create(data: Partial<SarReport>): SarReport;
  save(report: SarReport): Promise<SarReport>;
  findById(id: string): Promise<SarReport | null>;
  update(id: string, data: Partial<SarReport>): Promise<void>;
  count(options?: { where?: Record<string, any> }): Promise<number>;

  /** Paginated list with optional status filter */
  findPaginated(
    page: number,
    limit: number,
    filters?: { status?: string },
  ): Promise<[SarReport[], number]>;
}
