<?php
/**
 * Post type interface for PDFDraft.
 *
 * @package PDFDraft
 */

namespace PDFDraft\Contracts\PostTypes;

/**
 * Defines the contract for custom post type implementations.
 */
interface PostTypeInterface {

	/**
	 * Get the post type identifier.
	 *
	 * @return string
	 */
	public function getPostType(): string;

	/**
	 * Get post type registration arguments.
	 *
	 * @return array<string, mixed>
	 */
	public function getPostTypeArgs(): array;

	/**
	 * Register the post type.
	 *
	 * @return void
	 */
	public function register(): void;
}
