import { Network } from '../entities/network';
import { PaginationOptions } from './pagination-options';

export interface INetworkRepository {
  findById(id: string): Promise<Network | null>;
  findByName(name: string): Promise<Network | null>;
  findByChainId(chainId: number): Promise<Network | null>;
  findActive(): Promise<Network[]>;
  findAll(options?: PaginationOptions): Promise<Network[]>;
  save(network: Network): Promise<Network>;
  update(network: Network): Promise<Network>;
  delete(id: string): Promise<void>;
}
