<?php
/**
 * Design repository interface for PDFDraft.
 *
 * @package PDFDraft
 */

namespace PDFDraft\Contracts\Repositories;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Design repository interface.
 */
interface DesignRepositoryInterface {
	/**
	 * Find design by ID.
	 *
	 * @param int $id Design ID.
	 * @return array|null Design data or null if not found.
	 */
	public function findById( int $id ): ?array;

	/**
	 * Find design by slug.
	 *
	 * @param string $slug Design slug.
	 * @return array|null Design data or null if not found.
	 */
	public function findBySlug( string $slug ): ?array;
}
