import { Client as Client$1, ClientOptions } from '@microsoft/teams.common';
import { CloudEnvironment } from '../auth/cloud-environment.js';
import { ITokenProvider } from '../auth/credentials.js';
import { AgenticIdentity } from '../models/agentic-identity.js';
import { ApiClientSettings } from './api-client-settings.js';
export { DEFAULT_API_CLIENT_SETTINGS, mergeApiClientSettings } from './api-client-settings.js';
import { BotClient } from './bot/index.js';
import { ConversationClient } from './conversation/index.js';
export { CreateConversationParams, GetConversationsParams, GetConversationsResponse, IConversationActivityOperations } from './conversation/index.js';
import { MeetingClient } from './meeting.js';
import { ReactionClient } from './reaction/reaction.js';
import { TeamClient } from './team.js';
import { UserClient } from './user/index.js';
export { a as ActivityParams, C as ConversationActivityClient } from '../activity-BmsR4JZr.js';
export { BOT_SIGNIN_ENDPOINTS, BotSignInClient, GetBotSignInResourceParams, GetBotSignInUrlParams } from './bot/sign-in.js';
export { ConversationMemberClient } from './conversation/member.js';
export { ExchangeUserTokenParams, GetUserAADTokenParams, GetUserTokenParams, GetUserTokenStatusParams, SignOutUserParams, USER_TOKEN_ENDPOINTS, UserTokenClient } from './user/token.js';
import '../models/sign-in/sign-in-url-response.js';
import '../models/token/token-post-resource.js';
import '../models/token-exchange/token-exchange-resource.js';
import '../models/conversation/conversation.js';
import '../models/account.js';
import '../models/conversation-type.js';
import '../models/membership-source.js';
import '../models/membership-source-types.js';
import '../models/membership-types.js';
import '../models/role.js';
import '../models/conversation/conversation-resource.js';
import '../models/conversation/paged-members-result.js';
import '../models/message/message-reaction.js';
import '../models/message/message-user.js';
import '../models/resource.js';
import '@microsoft/teams.cards';
import '../message-BqFiZrVg.js';
import '../models/entity/mention-entity.js';
import '../models/entity/quoted-reply-entity.js';
import '../models/input-hint.js';
import '../models/text-format.js';
import '../models/attachment/attachment.js';
import '../models/attachment/card-attachment.js';
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/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/sensitivity-usage-info.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/entity/targeted-message-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/app-info.js';
import '../models/channel-data/channel-info.js';
import '../models/channel-data/chat-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/reply-chain-info.js';
import '../models/channel-data/settings.js';
import '../models/channel-data/source-info.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 '../models/meeting/meeting-notification.js';
import '../models/meeting/meeting-participant.js';
import '../models/meeting/meeting.js';
import '../models/team-details.js';
import '../models/token/token-response.js';
import '../models/token/token-status.js';
import '../models/token-exchange/token-exchange-request.js';

/**
 * Options for creating a scoped API client from an existing client.
 */
type ApiClientCloneOptions = Omit<Partial<ApiClientSettings>, 'agenticIdentity'> & {
    /**
     * Service URL for the scoped client. Defaults to the current client's service URL.
     */
    readonly serviceUrl?: string;
    /**
     * `undefined` preserves the current client default; `null` clears it.
     */
    readonly agenticIdentity?: AgenticIdentity | null;
};
/**
 * Options for creating a scoped API client for a specific Bot Framework service URL.
 */
type ApiClientFromServiceUrlOptions = {
    /**
     * Service URL for the scoped client.
     */
    readonly serviceUrl: string;
};
declare class Client {
    readonly serviceUrl: string;
    readonly bots: BotClient;
    readonly users: UserClient;
    readonly conversations: ConversationClient;
    readonly teams: TeamClient;
    readonly meetings: MeetingClient;
    readonly reactions: ReactionClient;
    get http(): Client$1;
    set http(v: Client$1);
    protected _http: Client$1;
    protected _baseHttp: Client$1;
    protected _apiClientSettings: Partial<ApiClientSettings>;
    protected _tokenProvider?: ITokenProvider;
    protected _cloud?: CloudEnvironment;
    protected _defaultAgenticIdentity?: AgenticIdentity;
    constructor(serviceUrl: string, httpOptions?: Client$1 | ClientOptions, apiClientSettings?: Partial<ApiClientSettings>);
    /**
     * Create a scoped API client that reuses this client's HTTP configuration and token provider.
     */
    clone(options?: ApiClientCloneOptions): Client;
    /**
     * Create a scoped API client for the provided agentic identity.
     *
     * @param agenticIdentity Agentic operation identity used by the scoped client
     * when acquiring auth tokens.
     */
    forAgenticIdentity(agenticIdentity: AgenticIdentity): Client;
    /**
     * Create a scoped API client for the provided Bot Framework service URL.
     */
    fromServiceUrl(options: ApiClientFromServiceUrlOptions): Client;
    private prepareHttpClient;
}

export { type ApiClientCloneOptions, type ApiClientFromServiceUrlOptions, ApiClientSettings, BotClient, Client, ConversationClient, MeetingClient, ReactionClient, TeamClient, UserClient };
