import { DragEndEvent, DragOverEvent, DragStartEvent } from '@dnd-kit/core';
import { CustomHandler } from '../../../i18n/context';
import { I18nFormatArgTypes } from '../../../i18n/messages-types';
import { SortableAreaProps } from './interfaces';
export declare const formatDndStarted: CustomHandler<SortableAreaProps.DndAreaI18nStrings['liveAnnouncementDndStarted'], I18nFormatArgTypes['list']['liveAnnouncementDndStarted']>;
export declare const formatDndItemReordered: CustomHandler<SortableAreaProps.DndAreaI18nStrings['liveAnnouncementDndItemReordered'], I18nFormatArgTypes['list']['liveAnnouncementDndItemReordered']>;
export declare const formatDndItemCommitted: CustomHandler<SortableAreaProps.DndAreaI18nStrings['liveAnnouncementDndItemCommitted'], I18nFormatArgTypes['list']['liveAnnouncementDndItemCommitted']>;
export default function useLiveAnnouncements<Item>({
  items,
  itemDefinition,
  isDragging,
  liveAnnouncementDndStarted,
  liveAnnouncementDndItemReordered,
  liveAnnouncementDndItemCommitted,
  liveAnnouncementDndDiscarded
}: {
  items: readonly Item[];
  itemDefinition: SortableAreaProps.ItemDefinition<Item>;
  isDragging: boolean;
} & SortableAreaProps.DndAreaI18nStrings): {
  onDragStart({
    active
  }: DragStartEvent): string | undefined;
  onDragOver({
    active,
    over
  }: DragOverEvent): string | undefined;
  onDragEnd({
    active,
    over
  }: DragEndEvent): string | undefined;
  onDragCancel(): string | undefined;
};