import { Device } from '../entities/device';
import { PaginationOptions } from './pagination-options';

export interface IDeviceRepository {
  findById(id: string): Promise<Device | null>;
  findByFingerprint(fingerprint: string): Promise<Device | null>;
  findAll(options?: PaginationOptions): Promise<Device[]>;
  save(device: Device): Promise<Device>;
  update(device: Device): Promise<Device>;
  delete(id: string): Promise<void>;
}
