<?php

declare(strict_types=1);

namespace App\Framework\Notification\Channels\Telegram\Webhook;

/**
 * Telegram Callback Handler Interface
 *
 * Implement this to handle specific callback button actions
 */
interface CallbackHandler
{
    /**
     * Get the callback command this handler supports
     * Example: "approve_order", "reject_order"
     */
    public function getCommand(): string;

    /**
     * Handle the callback query
     *
     * @param TelegramCallbackQuery $callbackQuery The callback query
     * @return CallbackResponse Response to send back to Telegram
     */
    public function handle(TelegramCallbackQuery $callbackQuery): CallbackResponse;
}
