/** * * @param {number} slotHeight * @param {number} margin * @returns {number} height * @description * used to calculate the height * of the container containing * the slots * (also accounts for space between the slot items) */ export function slotsContainerHeightCalculator( slotHeight: number, margin: number, ): number; /** * * @param {number} slotHeight * @param {number} margin * @returns {number} offset * @description * used to calculate the start * and end offset to position * active element at the center * of the container */ export function offsetToPositionCenter( slotHeight: number, margin: number, ): number; /** * * @param {number} activeIndex * @param {number} currentIndex * @returns {number} scale * @description * used to calculate scale value of list item based on a * comparison between active index in the list * and current index of given item */ export function scaleFactor(activeIndex: number, currentIndex: number): number; /** * * @param {number} activeIndex * @param {number} currentIndex * @returns {number} opacity * @description * used to calculate opacity value of list item based on a * comparison between active index in the list * and current index of given item */ export function opacityFactor( activeIndex: number, currentIndex: number, ): number; /** * @interface * @param {number} slotItemHeight * @param {number} slotItemSpacing */ export interface SafecamSlotList { slotItemHeight?: number; slotItemSpacing?: number; } type CopilotCameraSlotHook = { slots: Slot[]; activeSlot?: Slot | undefined; setActiveSlot: (index: number) => void; activeSlotIndex: number; }; type SlotListOptionalProps = { freeflow?: boolean; }; /** * @component * Represents a slotList component instance * @description * displays the list of available slots * and lets the user change the slot * using a "slide" gesture * @example * * @returns {React.FC} SlotList */ export default function SlotList( props: CopilotCameraSlotHook & SlotListOptionalProps, ): JSX.Element;