```tsx // src/context/TodoContext.tsx import React, { createContext, useContext, useReducer } from 'react'; type Todo = { id: string; text: string; completed: boolean; }; type TodoState = { todos: Todo[]; }; type TodoAction = | { type: 'ADD_TODO'; payload: string } | { type: 'TOGGLE_TODO'; payload: string } | { type: 'DELETE_TODO'; payload: string }; const TodoContext = createContext<{ state: TodoState; dispatch: React.Dispatch; } | undefined>(undefined); export const TodoProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => { const [state, dispatch] = useReducer(todoReducer, { todos: [] }); return {children}; }; ```