<?php

declare(strict_types=1);

namespace ApiModel\Domain\Repository;

interface PagoFerreteriaRepositoryInterface
{
    /** @return array<string, mixed>|null */
    public function findById(string $id): ?array;

    public function insert(
        string $id,
        string $ferreteriaId,
        float $monto,
        string $fechaPago,
        ?string $referencia,
        ?string $descripcion,
        ?string $registradoPor
    ): void;

    /** @return list<array<string, mixed>> */
    public function listAll(): array;

    /** @return list<array<string, mixed>> */
    public function listAllByFerreteria(string $ferreteriaId): array;

    public function delete(string $id): void;
}
