import { tl } from '../../../tl/index.js';
import { ITelegramClient } from '../../client.types.js';
import { InputWebview, WebviewResult } from '../../types/bots/webview.js';
import { InputPeerLike } from '../../types/index.js';
/**
 * Open a webview.
 */
export declare function openWebview(client: ITelegramClient, params: {
    /** Information about the webview to open */
    webview: InputWebview;
    /**
     * Bot whose webview to open
     */
    bot: InputPeerLike;
    /**
     * Chat to report to the server as the "currently open chat",
     * also the chat to which the message will be sent in case of
     * `from_inline_keyboard`, `from_bot_menu` and `from_attach_menu` webviews
     */
    chat?: InputPeerLike;
    /**
     * Theme parameters to pass to the mini app
     *
     * Each value should be a string (hex-encoded RGB, no alpha)
     */
    theme?: tl.TypeDataJSON | {
        /** Background color */
        bg_color?: string;
        /** Secondary background color */
        secondary_bg_color?: string;
        /** Text color */
        text_color?: string;
        /** Hint text color */
        hint_color?: string;
        /** Link color */
        link_color?: string;
        /** Button color */
        button_color?: string;
        /** Button text color */
        button_text_color?: string;
        /** Header background color */
        header_bg_color?: string;
        /** Accent text color */
        accent_text_color?: string;
        /** Section background color */
        section_bg_color?: string;
        /** Section header text color */
        section_header_text_color?: string;
        /** Section separator color */
        section_separator_color?: string;
        /** Sub title text color */
        subtitle_text_color?: string;
        /** Text color for destructive action buttons in prompts */
        destructive_text_color?: string;
    };
    /**
     * Webview platform to use in the init data
     *
     * Some of the known values:
     *  - `android` - Android clients
     *  - `ios` - iOS clients
     *  - `tdesktop` - Telegram Desktop
     *  - `macos` - Telegram for macOS
     *  - `unigram` - Unigram
     */
    platform: 'android' | 'ios' | 'tdesktop' | 'macos' | 'unigram' | (string & {});
}): Promise<WebviewResult>;
/**
 * Close a webview previously opened by {@link openWebview} method.
 *
 * @param webview  Webview result returned by {@link openWebview}, or its `.queryId`
 */
export declare function closeWebview(client: ITelegramClient, webview: WebviewResult | tl.Long): Promise<void>;
