import { tl } from '../../../tl/index.js';
import { ITelegramClient } from '../../client.types.js';
import { InputInlineResult } from '../../types/bots/index.js';
import { InlineQuery } from '../../types/updates/inline-query.js';
/**
 * Answer an inline query.
 *
 * @param queryId  Inline query ID
 * @param results  Results of the query
 * @param params  Additional parameters
 */
export declare function answerInlineQuery(client: ITelegramClient, queryId: tl.Long | InlineQuery, results: InputInlineResult[], params?: {
    /**
     * Maximum number of time in seconds that the results of the
     * query may be cached on the server for.
     *
     * @default  300
     */
    cacheTime?: number;
    /**
     * Whether the results should be displayed as a gallery instead
     * of a vertical list. Only applicable to some media types.
     *
     * In some cases changing this may lead to the results not being
     * displayed by the client.
     *
     * Default is derived automatically based on result types
     */
    gallery?: boolean;
    /**
     * Whether the results should only be cached on the server
     * for the user who sent the query.
     *
     * @default  false
     */
    private?: boolean;
    /**
     * Next pagination offset (up to 64 bytes).
     *
     * When user has reached the end of the current results,
     * the client will re-send the inline query with the same text, but
     * with `offset` set to this value.
     *
     * If omitted or empty string is provided, it is assumed that
     * there are no more results.
     */
    nextOffset?: string;
    /**
     * If passed, clients will display a button before any other results,
     * that when clicked switches the user to a private chat with the bot
     * and sends the bot `/start ${parameter}`.
     *
     * An example from the Bot API docs:
     *
     * An inline bot that sends YouTube videos can ask the user to connect
     * the bot to their YouTube account to adapt search results accordingly.
     * To do this, it displays a "Connect your YouTube account" button above
     * the results, or even before showing any. The user presses the button,
     * switches to a private chat with the bot and, in doing so, passes a start
     * parameter that instructs the bot to return an oauth link. Once done, the
     * bot can offer a switch_inline button so that the user can easily return to
     * the chat where they wanted to use the bot's inline capabilities
     */
    switchPm?: {
        /**
         * Text of the button
         */
        text: string;
        /**
         * Parameter for `/start` command
         */
        parameter: string;
    };
    /**
     * If passed, clients will display a button on top of the remaining inline result
     * list with the specified text, that switches the user to the specified bot web app.
     */
    switchWebview?: {
        /**
         * Text of the button
         */
        text: string;
        /**
         * URL to open
         */
        url: string;
    };
}): Promise<void>;
