import { Client, ClientOptions } from '@microsoft/teams.common/http';
import { TeamsChannelAccount } from '../../models/account.js';
import { PagedMembersResult } from '../../models/conversation/paged-members-result.js';
import { ApiClientSettings } from '../api-client-settings.js';
import '../../models/membership-source.js';
import '../../models/membership-source-types.js';
import '../../models/membership-types.js';
import '../../models/role.js';
import '../../auth/cloud-environment.js';

declare class ConversationMemberClient {
    readonly serviceUrl: string;
    get http(): Client;
    set http(v: Client);
    protected _http: Client;
    protected _apiClientSettings: Partial<ApiClientSettings>;
    constructor(serviceUrl: string, options?: Client | ClientOptions, apiClientSettings?: Partial<ApiClientSettings>);
    get(conversationId: string): Promise<TeamsChannelAccount[]>;
    getById(conversationId: string, id: string): Promise<TeamsChannelAccount>;
    /**
     * Get paged members in a conversation.
     * @param conversationId - The ID of the conversation.
     * @param pageSize - Optional maximum number of members per page (min 50, default 200, max 500).
     * @param continuationToken - Optional token from a previous call to fetch the next page.
     * @returns PagedMembersResult containing members and an optional continuation token.
     */
    getPaged(conversationId: string, pageSize?: number, continuationToken?: string): Promise<PagedMembersResult>;
    /**
     * @deprecated The DELETE member endpoint is not supported by the backend. This method will be removed in a future version.
     */
    delete(conversationId: string, id: string): Promise<void>;
}

export { ConversationMemberClient };
