For me types.FrameType wasn't enough. I had to add | None to make Pylance happy:
types.FrameType
| None
def handler(signum: int, frame: types.FrameType | None):