import { CommunicationTokenCredential, CommunicationUserIdentifier } from '@azure/communication-common';
import { CallCompositeOptions, StartCallIdentifier, AzureCommunicationCallAdapterOptions, CallAdapter, 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 OutboundCallCompositeLoaderProps 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;
    /**
     * Participants that will be called.
     * This can be a list of either {@link CommunicationUserIdentifier} or string identifiers.
     */
    targetCallees: string[] | StartCallIdentifier[];
    /**
     * 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.
     * This is used to configure the call composite.
     */
    formFactor?: 'mobile' | 'desktop';
}
/**
 * Loader function for the OutboundCallComposite that you can use in your application. This
 * function will load the CallComposite into the provided HTML element to make outbound calls.
 * The best use case for this is in a Node UI framework that is not React based.
 *
 * @public
 */
export declare const loadOutboundCallComposite: (loaderArgs: OutboundCallCompositeLoaderProps, htmlElement: HTMLElement) => Promise<CallAdapter | undefined>;
//# sourceMappingURL=outboundCallCompositeLoader.d.ts.map