import { Client, ClientOptions } from '@microsoft/teams.common/http';
import { ApiClientSettings } from '../api-client-settings.js';
import { Conversation } from '../../models/conversation/conversation.js';
import { TeamsChannelAccount, Account } from '../../models/account.js';
import { ConversationResource } from '../../models/conversation/conversation-resource.js';
import { PagedMembersResult } from '../../models/conversation/paged-members-result.js';
import { Resource } from '../../models/resource.js';
import { C as ConversationActivityClient, b as ActivityParams } from '../../activity-BzTsi0gF.js';
import { ConversationMemberClient } from './member.js';
import '../../auth/cloud-environment.js';
import '../../models/membership-source.js';
import '../../models/membership-source-types.js';
import '../../models/membership-types.js';
import '../../models/role.js';
import '../../message-B-5FpoB1.js';
import '../../models/entity/mention-entity.js';
import '../../models/input-hint.js';
import '../../models/text-format.js';
import '../../models/attachment/attachment.js';
import '../../models/attachment/card-attachment.js';
import '@microsoft/teams.cards';
import '../../models/card/animation-card.js';
import '../../models/card/card-action.js';
import '../../models/card/media-url.js';
import '../../models/card/thumbnail-url.js';
import '../../models/card/audio-card.js';
import '../../models/card/hero-card.js';
import '../../models/card/card-image.js';
import '../../models/card/thumbnail-card.js';
import '../../models/card/video-card.js';
import '../../models/oauth/oauth-card.js';
import '../../models/token/token-post-resource.js';
import '../../models/token-exchange/token-exchange-resource.js';
import '../../models/sign-in/sign-in-card.js';
import '../../models/attachment/attachment-layout.js';
import '../../models/suggested-actions.js';
import '../../models/importance.js';
import '../../models/delivery-mode.js';
import '../../activities/activity.js';
import '../../models/channel-id.js';
import '../../models/conversation/conversation-reference.js';
import '../../models/entity/index.js';
import '../../models/entity/ai-message-entity.js';
import '../../models/entity/message-entity.js';
import '../../models/entity/citation-entity.js';
import '../../models/entity/client-info-entity.js';
import '../../models/entity/product-info-entity.js';
import '../../models/entity/sensitive-usage-entity.js';
import '../../models/entity/stream-info-entity.js';
import '../../models/channel-data/index.js';
import '../../models/meeting/meeting-info.js';
import '../../models/meeting/meeting-details.js';
import '../../models/channel-data/channel-info.js';
import '../../models/channel-data/feedback-loop.js';
import '../../models/channel-data/notification-info.js';
import '../../models/channel-data/on-behalf-of.js';
import '../../models/channel-data/settings.js';
import '../../models/channel-data/team-info.js';
import '../../models/channel-data/tenant-info.js';
import '../../activities/typing.js';
import '../../activities/message/message-update.js';
import '../../activities/command/index.js';
import '../../activities/command/command-result.js';
import '../../activities/command/command-send.js';
import '../../activities/conversation/index.js';
import '../../activities/conversation/conversation-update.js';
import '../../activities/conversation/end-of-conversation.js';
import '../../activities/event/index.js';
import '../../activities/event/meeting-end.js';
import '../../activities/event/meeting-participant-join.js';
import '../../activities/event/meeting-participant-leave.js';
import '../../activities/event/meeting-start.js';
import '../../activities/event/read-receipt.js';
import '../../activities/handoff.js';
import '../../activities/install-update/index.js';
import '../../activities/install-update/add.js';
import '../../activities/install-update/remove.js';
import '../../activities/invoke/adaptive-card/index.js';
import '../../activities/invoke/adaptive-card/action.js';
import '../../models/adaptive-card/adaptive-card-invoke-value.js';
import '../../models/adaptive-card/adaptive-card-authentication.js';
import '../../models/token-exchange/token-exchange-invoke-request.js';
import '../../models/adaptive-card/adaptive-card-invoke-action.js';
import '../../activities/invoke/config/index.js';
import '../../activities/invoke/config/config-fetch.js';
import '../../activities/invoke/config/config-submit.js';
import '../../activities/invoke/execute-action.js';
import '../../models/o365/o365-connector-card-action-query.js';
import '../../activities/invoke/file-consent.js';
import '../../models/file/file-consent-card.js';
import '../../models/action.js';
import '../../models/file/file-upload-info.js';
import '../../activities/invoke/handoff-action.js';
import '../../activities/invoke/message/index.js';
import '../../activities/invoke/message/fetch-task.js';
import '../../activities/invoke/message/submit-action.js';
import '../../activities/invoke/message-extension/anon-query-link.js';
import '../../models/app-based-link-query.js';
import '../../activities/invoke/message-extension/card-button-clicked.js';
import '../../models/message/message.js';
import '../../models/message/message-body.js';
import '../../models/message/message-from.js';
import '../../models/message/message-app.js';
import '../../models/message/message-conversation.js';
import '../../models/message/message-user.js';
import '../../models/message/message-mention.js';
import '../../models/message/message-reaction.js';
import '../../models/task-module/task-module-request.js';
import '../../models/tab/tab-entity-context.js';
import '../../activities/invoke/message-extension/query.js';
import '../../models/messaging-extension/messaging-extension-query.js';
import '../../models/messaging-extension/messaging-extension-parameter.js';
import '../../activities/invoke/message-extension/query-link.js';
import '../../activities/invoke/message-extension/query-setting-url.js';
import '../../activities/invoke/message-extension/select-item.js';
import '../../activities/invoke/message-extension/setting.js';
import '../../activities/invoke/sign-in/index.js';
import '../../activities/invoke/sign-in/failure.js';
import '../../models/sign-in/sign-in-failure.js';
import '../../activities/invoke/sign-in/token-exchange.js';
import '../../models/sign-in/sign-in-exchange-token.js';
import '../../activities/invoke/sign-in/verify-state.js';
import '../../models/sign-in/sign-in-state-verify-query.js';
import '../../activities/invoke/tab/index.js';
import '../../activities/invoke/tab/tab-fetch.js';
import '../../models/tab/tab-request.js';
import '../../models/tab/tab-context.js';
import '../../activities/invoke/tab/tab-submit.js';
import '../../activities/invoke/task/index.js';
import '../../activities/invoke/task/task-fetch.js';
import '../../activities/invoke/task/task-submit.js';
import '../../activities/message/index.js';
import '../../activities/message/message-delete.js';
import '../../activities/message/message-reaction.js';
import '../../activities/trace.js';

/**
 * @deprecated The GET /v3/conversations endpoint is not supported. This type will be removed in a future version.
 */
type GetConversationsParams = {
    readonly continuationToken?: string;
};
type CreateConversationParams = {
    /**
     * @deprecated Ignored by the backend. This field will be removed in a future version.
     */
    readonly isGroup?: boolean;
    /**
     * @deprecated Ignored by the backend. This field will be removed in a future version.
     */
    readonly bot?: Partial<Account>;
    readonly members?: Account[];
    /**
     * @deprecated Ignored by the backend. This field will be removed in a future version.
     */
    readonly topicName?: string;
    readonly tenantId?: string;
    readonly activity?: ActivityParams;
    readonly channelData?: Record<string, any>;
};
/**
 * @deprecated The GET /v3/conversations endpoint is not supported. This type will be removed in a future version.
 */
type GetConversationsResponse = {
    /**
     * Paging token
     */
    continuationToken: string;
    /**
     * List of conversations
     */
    conversations: Conversation[];
};
declare class ConversationClient {
    readonly serviceUrl: string;
    get http(): Client;
    set http(v: Client);
    protected _http: Client;
    protected _activities: ConversationActivityClient;
    protected _members: ConversationMemberClient;
    protected _apiClientSettings: Partial<ApiClientSettings>;
    constructor(serviceUrl: string, options?: Client | ClientOptions, apiClientSettings?: Partial<ApiClientSettings>);
    activities(conversationId: string): {
        create: (params: ActivityParams) => Promise<Resource>;
        update: (id: string, params: ActivityParams) => Promise<Resource>;
        reply: (id: string, params: ActivityParams) => Promise<Resource>;
        delete: (id: string) => Promise<void>;
        members: (activityId: string) => Promise<TeamsChannelAccount[]>;
        createTargeted: (params: ActivityParams) => Promise<Resource>;
        updateTargeted: (id: string, params: ActivityParams) => Promise<Resource>;
        deleteTargeted: (id: string) => Promise<void>;
    };
    members(conversationId: string): {
        get: () => Promise<TeamsChannelAccount[]>;
        getById: (id: string) => Promise<TeamsChannelAccount>;
        getPaged: (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: (id: string) => Promise<void>;
    };
    /**
     * @deprecated The GET /v3/conversations endpoint is not supported. This method will be removed in a future version.
     */
    get(params: GetConversationsParams): Promise<GetConversationsResponse>;
    create(params: CreateConversationParams): Promise<ConversationResource>;
}

export { ActivityParams, ConversationActivityClient, ConversationClient, ConversationMemberClient, type CreateConversationParams, type GetConversationsParams, type GetConversationsResponse };
