/// <reference types="react" />
import { IDropdownOption, IDropdownStyles } from '@fluentui/react';
/**
 * Strings of {@link DevicePermissionDropdown} that can be overridden.
 *
 * @internal
 */
export interface _DevicePermissionDropdownStrings {
    /**
     * dropdown label
     */
    label?: string;
    /**
     * dropdown placeholder
     */
    placeHolderText: string;
    /** string for action button  */
    actionButtonContent?: string;
}
/**
 * Props for {@link _DevicePermissionDropdown}.
 *
 * @internal
 */
export interface _DevicePermissionDropdownProps {
    /**
     * icon shown in dropdown placeholder
     */
    icon?: JSX.Element;
    /**
     * Dropdown content
     */
    options?: IDropdownOption[];
    /**
     * Ask for permissions of devices.
     *
     * @remarks
     * Browser permission window will pop up if permissions are not granted yet
     *
     * @param constrain - Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }
     */
    askDevicePermission?(constrain: _PermissionConstraints): Promise<void>;
    /**
     * Optional callback when component is clicked
     */
    onClick?: () => void;
    /**
     * Define constraints for accessing local devices  {@link @azure/communication-calling#PermissionConstraints }
     */
    constrain?: _PermissionConstraints;
    /**
     * Strings for devicepermissiondropdown
     */
    strings?: _DevicePermissionDropdownStrings;
    /**
     * Styles for devicepermissiondropdown
     */
    styles?: Partial<IDropdownStyles>;
    /**
     * Aria-labelledby for the dropdown
     */
    ariaLabelledby?: string;
}
/**
 * A dropdown to trigger device permission prompt
 *
 * @internal
 */
export declare const _DevicePermissionDropdown: (props: _DevicePermissionDropdownProps) => JSX.Element;
/**
 * Define constraints for accessing local devices  {@link @azure/communication-calling#PermissionConstraints }
 *
 * @internal
 */
export type _PermissionConstraints = {
    audio: boolean;
    video: boolean;
};
//# sourceMappingURL=DevicePermissionDropdown.d.ts.map