<?php
namespace App\PageBuilder\Contracts;

interface PageComponent
{
    public static function name(): string;

    public static function label(): string;
    public static function view(): string;

    public static function fields(): array; // Form structure

    public function render(array $settings): string; // For frontend

    public function preview(array $settings): string; // For admin preview
}
