<?php

declare(strict_types=1);

namespace PpPhp\Core\Registry\Contracts;

interface RegistryInterface
{
    public function register(string $key, object $definition): void;
    public function unregister(string $key): void;
    public function has(string $key): bool;
    public function get(string $key): ?object;
    public function all(): array;
    public function clear(): void;
    public function count(): int;
    public function search(string $term): array;
}
