import { KeyboardBuilder } from './builder';
import { IKeyboardProxyButton, IKeyboardTextButtonOptions, IKeyboardURLButtonOptions, IKeyboardLocationRequestButtonOptions, IKeyboardVKPayButtonOptions, IKeyboardApplicationButtonOptions, IKeyboardCallbackButtonOptions, ButtonColor } from './types';
export declare class Keyboard {
    /**
     * Returns custom tag
     */
    get [Symbol.toStringTag](): string;
    /**
     * The white button, indicates secondary action
     *
     * Hex color #FFFFFF
     */
    static get SECONDARY_COLOR(): ButtonColor.SECONDARY;
    /**
     * The blue button, indicates the main action
     *
     * Hex color #5181B8
     */
    static get PRIMARY_COLOR(): ButtonColor.PRIMARY;
    /**
     * The red button, indicates a dangerous or a negative action (reject, delete, etc...)
     *
     * Hex color #E64646
     */
    static get NEGATIVE_COLOR(): ButtonColor.NEGATIVE;
    /**
     * The green button, indicates a agree, confirm, ...etc
     *
     * Hex color #4BB34B
     */
    static get POSITIVE_COLOR(): ButtonColor.POSITIVE;
    /**
     * Returns keyboard builder
     */
    static builder(): KeyboardBuilder;
    /**
     * Assembles a builder of buttons
     */
    static keyboard(rows: (IKeyboardProxyButton | IKeyboardProxyButton[])[]): KeyboardBuilder;
    /**
     * Text button, can be colored
     */
    static textButton(options: IKeyboardTextButtonOptions): IKeyboardProxyButton;
    /**
     * URL button
     */
    static urlButton(options: IKeyboardURLButtonOptions): IKeyboardProxyButton;
    /**
     * User location request button, occupies the entire keyboard width
     */
    static locationRequestButton(options: IKeyboardLocationRequestButtonOptions): IKeyboardProxyButton;
    /**
     * VK Pay button, occupies the entire keyboard width
     */
    static payButton(options: IKeyboardVKPayButtonOptions): IKeyboardProxyButton;
    /**
     * VK Apps button, occupies the entire keyboard width
     */
    static applicationButton(options: IKeyboardApplicationButtonOptions): IKeyboardProxyButton;
    /**
     * Allows without sending a message from the user
     * to receive a notification of a button click and perform the necessary action
     */
    static callbackButton(options: IKeyboardCallbackButtonOptions): IKeyboardProxyButton;
}
