<?php

declare(strict_types=1);

namespace ApiModel\Domain\Repository;

interface InventoryTransferRepositoryInterface
{
    public function findById(string $id): ?array;
    
    /** @return list<array<string, mixed>> */
    public function listByCompany(string $companyId): array;
    
    public function nextTransferNumber(string $companyId): string;
    
    public function insert(array $data): void;
    
    public function delete(string $id): void;
    
    /** @return list<array<string, mixed>> */
    public function findLinesByTransferId(string $transferId): array;
    
    public function insertLines(string $transferId, array $lines): void;
    
    public function deleteLines(string $transferId): void;
}
