import { ITelegramClient } from '../../client.types.js';
import { ArrayWithTotal, InputPeerLike, ChatMember } from '../../types/index.js';
/**
 * Get a chunk of members of some chat.
 *
 * You can retrieve up to 200 members at once
 *
 * @param chatId  Chat ID or username
 * @param params  Additional parameters
 */
export declare function getChatMembers(client: ITelegramClient, chatId: InputPeerLike, params?: {
    /**
     * Search query to filter members by their display names and usernames
     *
     * > **Note**: Only used for these values of `filter`:
     * > `all, banned, restricted, mention, contacts`
     *
     * @default  `''` (empty string)
     */
    query?: string;
    /**
     * Sequential number of the first member to be returned.
     */
    offset?: number;
    /**
     * Maximum number of members to be retrieved.
     *
     * > **Note**: Telegram currently only allows you to ever retrieve at most
     * > 200 members, regardless of offset/limit. I.e. when passing
     * > `offset=201` nothing will ever be returned.
     *
     * @default  200
     */
    limit?: number;
    /**
     * Type of the query. Can be:
     *  - `all`: get all members
     *  - `banned`: get only banned members
     *  - `restricted`: get only restricted members
     *  - `bots`: get only bots
     *  - `recent`: get recent members
     *  - `admins`: get only administrators (and creator)
     *  - `contacts`: get only contacts
     *  - `mention`: get users that can be mentioned (see {@link tl.RawChannelParticipantsMentions})
     *
     *  Only used for channels and supergroups.
     *
     * @default  `recent`
     */
    type?: 'all' | 'banned' | 'restricted' | 'bots' | 'recent' | 'admins' | 'contacts' | 'mention';
}): Promise<ArrayWithTotal<ChatMember>>;
