import { tl } from '../../../tl/index.js';
import { ITelegramClient } from '../../client.types.js';
import { InputPeerLike } from '../../types/peers/peer.js';
import { TypingStatus } from '../../types/peers/typing-status.js';
export declare function _getTypingTimerId(peer: tl.TypeInputPeer, businessId?: string): string;
/**
 * Sets whether a user is typing in a specific chat
 *
 * This status is automatically renewed by mtcute until a further
 * call with `cancel` is made, or a message is sent to the chat.
 */
export declare function setTyping(client: ITelegramClient, params: {
    /** Chat ID where the user is currently typing */
    peerId: InputPeerLike;
    /**
     * Typing status to send
     *
     * @default  `typing`
     */
    status?: Exclude<TypingStatus, 'interaction' | 'interaction_seen'> | tl.TypeSendMessageAction;
    /**
     * For `upload_*` and history import actions, progress of the upload
     */
    progress?: number;
    /**
     * Unique identifier of the business connection on behalf of which the action will be sent
     */
    businessConnectionId?: string;
    /**
     * For comment threads, ID of the thread (i.e. top message)
     */
    threadId?: number;
}): Promise<void>;
