import { BaseSet } from '../../collections/baseset';
import { MessageComponentButtonStyles, MessageComponentTypes } from '../../constants';
import { ComponentActionBase, ComponentActionData, ComponentEmojiData } from './actionbase';
/**
 * Utils Component Button Structure
 * @category Utils
 */
export declare class ComponentButton extends ComponentActionBase {
    readonly _keys: BaseSet<string>;
    customId?: null | string;
    disabled?: boolean;
    emoji?: null | ComponentEmojiData;
    label?: null | string;
    style: MessageComponentButtonStyles;
    type: MessageComponentTypes;
    url?: null | string;
    constructor(data?: ComponentActionData);
    setCustomId(customId: null | string): this;
    setDisabled(disabled: boolean): this;
    setEmoji(emoji: null | ComponentEmojiData): this;
    setLabel(label: null | string): this;
    setStyle(style: MessageComponentButtonStyles): this;
    setUrl(url: null | string): this;
    mergeValue(key: string, value: any): void;
}
