import type { Ban as BanData } from '@twitchfy/api-types';
import type { ChatBot } from './ChatBot';
import { Base } from './Base';
import type { EventSubConnection } from '../enums';
/**
 * Represents a ban in a chatroom.
 */
export declare class Ban<T extends EventSubConnection> extends Base<T> {
    /**
     * The Id of the user who was banned.
     */
    readonly userId: string;
    /**
     * The Id of the moderator who banned the user.
     */
    readonly moderatorId: string;
    /**
     * The data of the ban returned from the API.
     */
    private data;
    /**
     * Creates a new instance of the ban.
     * @param chatbot The current instance of the chatbot.
     * @param data The data of the ban returned from the API.
     */
    constructor(chatbot: ChatBot<T>, data: BanData);
    /**
     * Deletes the ban from the chatroom.
     * @returns
     */
    delete(): Promise<void>;
    /**
     * The Id of the chatroom where the ban was made.
     */
    get chatroomId(): string;
    /**
     * The Date when the ban was created. Returns a JavaScript Date object.
     */
    get createdAt(): Date;
    /**
     * If the ban is a timeout this will return the end time of the timeout in a JavaScript Date object. If not, it will return a nullish value.
     */
    get endTime(): Date | null;
}
