import { CommunicationTokenCredential, CommunicationUserIdentifier } from '@azure/communication-common';
import { BaseCompositeProps, ChatAdapter, ChatCompositeIcons, ChatCompositeOptions } from "../../react-composites/src/index-public";
/**
 * Props for the ChatComposite that you can use in your application. Contains the
 * options for the {@link ChatComposite} {@link ChatCompositeOptions}.
 * @public
 */
export interface ChatCompositeLoaderProps extends Partial<BaseCompositeProps<ChatCompositeIcons>> {
    /**
     * UserId for the local user.
     */
    userId: CommunicationUserIdentifier;
    /**
     * CommunicationTokenCredential for the local user.
     */
    credential: CommunicationTokenCredential;
    /**
     * Display name for the local user.
     */
    displayName?: string;
    /**
     * Communication service endpoint. This is used for the token and joining the chat thread.
     */
    endpoint: string;
    /**
     * Communication threadId for the chat thread.
     */
    threadId: string;
    /**
     * Options for the {@link AzureCommunicationChatAdapter}
     * This is used to configure the chat adapter.
     */
    chatCompositeOptions?: ChatCompositeOptions;
}
/**
 * Loader function for the ChatComposite that you can use in your application. This
 * function will load the ChatComposite into the provided HTML element.
 * The best use case for this is in a Node UI framework that is not React based.
 *
 * @public
 */
export declare const loadChatComposite: (loaderArgs: ChatCompositeLoaderProps, htmlElement: HTMLElement) => Promise<ChatAdapter | undefined>;
//# sourceMappingURL=chatCompositeLoader.d.ts.map