import type { ChannelUpdateMessage } from '@twitchfy/eventsub';
import { BaseUser } from './BaseUser';
import { Base } from './Base';
import type { ChatBot } from './ChatBot';
import type { EventSubConnection } from '../enums';
import type { Category, EventSubConnectionMap } from '../interfaces';
/**
 * Represents a channel update event.
 */
export declare class ChannelUpdate<T extends EventSubConnection> extends Base<T> {
    /**
     * The broadcaster of the channel who was updated.
     */
    broadcaster: BaseUser<T>;
    /**
     * The title of the channel.
     */
    title: string;
    /**
     * The language of the channel.
     */
    language: string;
    /**
     * The category of the channel.
     */
    category: Category;
    /**
     * The classification labels of the channel.
     */
    classificationLabels: string[];
    /**
     * The data of the update event returned from the EventSub.
     */
    private data;
    /**
     * Creates a new instance of the channel update event.
     * @param chatbot The current instance of the chatbot.
     * @param data The data of the update event returned from the EventSub.
     */
    constructor(chatbot: ChatBot<T>, data: ChannelUpdateMessage<EventSubConnectionMap[T]>);
    /**
     * The Id of the broadcaster who was updated.
     */
    get broadcasterId(): string;
    /**
     * Fetches the channel from the API.
     * @returns The fetched channel from the API.
     */
    channel(): Promise<import("./Channel").Channel<T>>;
}
