import { Employee } from '../entities/employee.entity';

export const EMPLOYEE_REPOSITORY = Symbol('IEmployeeRepository');

export interface IEmployeeRepository {
  findById(id: string): Promise<Employee | null>;
  create(data: Partial<Employee>): Promise<Employee>;
  save(employee: Employee): Promise<Employee>;
  delete(id: string): Promise<void>;
  findByIssuerId(
    issuerId: string,
    filters?: { storeId?: string; role?: string },
  ): Promise<Employee[]>;
  count(where?: Partial<Record<string, any>>): Promise<number>;
}
