<?php
/**
 * Card variant contract.
 *
 * @package Kutby
 * @since   2.9.0
 */

declare(strict_types=1);

namespace Kutby\Cards\Contracts;

use Kutby\Cards\Support\CardContext;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Interface CardVariantInterface
 */
interface CardVariantInterface {

	/**
	 * Variant id (editorial, compact, …).
	 *
	 * @return string
	 */
	public static function id(): string;

	/**
	 * @param CardContext $ctx Context.
	 * @return void
	 */
	public static function render( CardContext $ctx ): void;
}
