Какой тип указать для Event?

В TypeScript, чтобы указать тип для объекта Event, можно использовать тип 'Event'. Однако, тип 'Event' является базовым типом, который не предоставляет слишком много информации о событии. Если вы знаете тип события, например 'click', 'keydown' или 'mousemove', то лучше использовать более конкретные типы.

Один из способов указать более конкретный тип события - это использовать типы событий, определенные в стандарте DOM, такие как MouseEvent, KeyboardEvent, или FocusEvent. Например, если вам нужно указать тип события клика мыши, то можно использовать тип MouseEvent:

const handleClick = (event: MouseEvent) => {
  // ваш код обработки события
}

document.addEventListener('click', handleClick);

Если вам нужна еще более специфичная информация о событии, например, координаты мыши или кнопка мыши, то вы можете использовать более конкретные типы событий:

const handleClick = (event: MouseEvent) => {
  console.log('Клик произведен в координатах:', event.clientX, event.clientY);
  console.log('Нажата кнопка мыши:', event.button);
}

document.addEventListener('click', handleClick);

Если вам нужно указать пользовательский тип события, то можно создать интерфейс или тип, который описывает структуру этого события. Например:

interface CustomEvent {
  type: string;
  data: {
    // ваша структура данных
  },
}

const handleCustomEvent = (event: CustomEvent) => {
  // ваш код обработки пользовательского события
}

document.addEventListener('customEvent', handleCustomEvent);

В этом примере мы создали интерфейс CustomEvent, который определяет структуру пользовательского события. Затем мы указали этот тип для функции обратного вызова, которая обрабатывает событие с именем 'customEvent'.