import { CommunicationTokenCredential, CommunicationUserIdentifier } from '@azure/communication-common';
import { AzureCommunicationCallAdapterOptions, CallAdapter, CallAdapterLocator, CallCompositeOptions, BaseCompositeProps, CallCompositeIcons } from "../../react-composites/src/index-public";
/**
 * Props for the OutboundCallComposite that you can use in your application.
 *
 * Contains two options bags:
 * - adapterOptions: Options for the {@link AzureCommunicationCallAdapter}
 * - callCompositeOptions: Options for the {@link CallComposite} {@link CallCompositeOptions}
 *
 * @public
 */
export interface CallCompositeLoaderProps extends Partial<BaseCompositeProps<CallCompositeIcons>> {
    /**
     * UserId for the local user.
     */
    userId: CommunicationUserIdentifier;
    /**
     * CommunicationTokenCredential for the local user.
     */
    credential: CommunicationTokenCredential;
    /**
     * Display name for the local user.
     */
    displayName: string;
    /**
     * locator for the call
     */
    locator: CallAdapterLocator;
    /**
     * Options for the {@link AzureCommunicationCallAdapter}
     * This is used to configure the call adapter.
     */
    callAdapterOptions?: AzureCommunicationCallAdapterOptions;
    /**
     * Options for the {@link CallComposite} {@link CallCompositeOptions}
     * This is used to configure the call composite.
     */
    callCompositeOptions?: CallCompositeOptions;
    /**
     * Device form factor for the composite.
     */
    formFactor?: 'mobile' | 'desktop';
}
/**
 * Loader function for the CallComposite that you can use in your application. This
 * function will load the CallComposite 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 loadCallComposite: (loaderArgs: CallCompositeLoaderProps, htmlElement: HTMLElement) => Promise<CallAdapter | undefined>;
//# sourceMappingURL=callCompositeLoader.d.ts.map