<?php

namespace App\VideoPlugins\Contracts;

use App\Models\VideoPlugin;

interface VideoPluginInterface
{
    public function getCode(): string;
    public function getName(): string;
    public function getDescription(): string;
    public function getVersion(): string;
    public function getAuthor(): string;

    public function getConfigFields(): array;
    public function validateConfig(array $config): array;
    public function isConfigured(VideoPlugin $plugin): bool;

    public function renderEmbed(VideoPlugin $plugin, string $url = ''): string;
}
