> */ public function schema(): array; /** * Render escaped HTML with resolved attributes. * * @param array $attrs Resolved attribute values. * @param RenderContext $ctx Per-request customer/license state. * @return string Escaped HTML. */ public function render( array $attrs, RenderContext $ctx ): string; /** * Registered style/script handles to enqueue when this component renders. * * @return array Map with 'styles' and 'scripts' lists. */ public function assets(): array; }