import { tl } from '../../tl/index.js';
import { Deeplink } from './common.js';
/**
 * Bot deeplinks
 *
 * Used to link to bots with a start parameter
 */
export declare const botStart: Deeplink<{
    /** Bot username */
    username: string;
    /** Start parameter */
    parameter: string;
}>;
type BotAdminRight = Exclude<keyof tl.RawChatAdminRights, '_'>;
/**
 * Bot add to group links
 *
 * Used to ask the user to add a bot to a group, optionally asking for admin rights.
 * Note that the user is still free to choose which rights to grant, and
 * whether to grant them at all.
 */
export declare const botAddToGroup: Deeplink<{
    /** Bot username */
    bot: string;
    /** If specified, the client will call `/start parameter` on the bot once the bot has been added */
    parameter?: string;
    /** Admin rights to request */
    admin?: BotAdminRight[];
}>;
/**
 * Bot add to channel links
 *
 * Used to ask the user to add a bot to a channel, optionally with admin rights.
 * Note that the user is still free to choose which rights to grant, and
 * whether to grant them at all.
 */
export declare const botAddToChannel: Deeplink<{
    /** Bot username */
    bot: string;
    /** Admin rights to request */
    admin?: BotAdminRight[];
}>;
/**
 * Game links
 *
 * Used to share games.
 */
export declare const botGame: Deeplink<{
    /** Bot username */
    bot: string;
    /** Game short name */
    game: string;
}>;
/**
 * Named bot web app links
 *
 * Used to share named bot web apps.
 *
 * These links are different from bot attachment menu deep links,
 * because they don't require the user to install an attachment menu,
 * and a single bot can offer multiple named web apps, distinguished by
 * their `short_name`.
 */
export declare const botWebApp: Deeplink<{
    /** Bot username */
    bot: string;
    /** App short name */
    app: string;
    /** Parameter to be passed by the client to messages.requestAppWebView as `start_param` */
    parameter?: string;
}>;
export {};
