import { ITelegramClient } from '../../client.types.js';
import { Message } from '../../types/messages/message.js';
import { InputPeerLike } from '../../types/peers/peer.js';
import { sendMediaGroup } from './send-media-group.js';
import { sendMedia } from './send-media.js';
import { sendText } from './send-text.js';
export type QuoteParamsFrom<T> = Omit<NonNullable<T>, 'quoteText' | 'quoteEntities'> & {
    /**
     * Destination chat ID, username, phone, `"me"` or `"self"`
     *
     * @default  `message.chat`
     */
    toChatId?: InputPeerLike;
    /** Index of the first character to quote (inclusive) */
    start: number;
    /** Index of the last character to quote (exclusive) */
    end: number;
};
/** Send a text in reply to a given quote */
export declare function quoteWithText(client: ITelegramClient, message: Message, params: QuoteParamsFrom<Parameters<typeof sendText>[3]> & {
    /** Text to send */
    text: Parameters<typeof sendText>[2];
}): ReturnType<typeof sendText>;
/** Send a media in reply to a given quote */
export declare function quoteWithMedia(client: ITelegramClient, message: Message, params: QuoteParamsFrom<Parameters<typeof sendMedia>[3]> & {
    /** Media to send */
    media: Parameters<typeof sendMedia>[2];
}): ReturnType<typeof sendMedia>;
/** Send a media group in reply to a given quote */
export declare function quoteWithMediaGroup(client: ITelegramClient, message: Message, params: QuoteParamsFrom<Parameters<typeof sendMediaGroup>[3]> & {
    /** Media group to send */
    medias: Parameters<typeof sendMediaGroup>[2];
}): ReturnType<typeof sendMediaGroup>;
