import { MessageComponentInteraction, CommandInteraction } from "discord.js";
import { MessageEmbed } from "discord.js";
import { Message } from "discord.js";
export declare type ButtonPaginationIconType = "EMOJI" | "LABEL";
export declare type ButtonPaginationMaxType = "DISABLE" | "ROUNDABOUT";
export declare type ButtonPaginationInteractionOptions = {
    replied?: [boolean, {
        shouldFollowUp: boolean;
    }] | false;
    leftIconType?: ButtonPaginationIconType;
    leftIcon?: string;
    rightIconType?: ButtonPaginationIconType;
    rightIcon?: string;
    maxType?: ButtonPaginationMaxType;
    fast?: boolean;
};
export declare type ButtonPaginationMessageOptions = {
    reply?: boolean;
    leftIconType?: ButtonPaginationIconType;
    leftIcon?: string;
    rightIconType?: ButtonPaginationIconType;
    rightIcon?: string;
    maxType?: ButtonPaginationMaxType;
    fast?: boolean;
};
export declare type ButtonPaginationData = {
    content?: string;
    embed: MessageEmbed;
    callback?: (message: Message) => unknown;
} | {
    embed?: MessageEmbed;
    content: string;
    callback?: (message: Message) => unknown;
};
export declare type ButtonPaginationDataArray = ButtonPaginationData[];
export declare type RepliableInteraction = CommandInteraction | MessageComponentInteraction;
export declare function ButtonPagination<T extends RepliableInteraction | Message>(entity: T, data: ButtonPaginationData[], options?: T extends RepliableInteraction ? ButtonPaginationInteractionOptions : ButtonPaginationMessageOptions): Promise<void>;
//# sourceMappingURL=ButtonPagination.d.ts.map