How to use 'bl_keymap'?

Hello!
Im creating a addon for blender, and found a line of code in blender official python sample:

    bl_keymap = (
        ("view3d.select_circle", {"type": 'LEFTMOUSE', "value": 'PRESS'},
         {"properties": [("wait_for_input", False)]}),
        ("view3d.select_circle", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
         {"properties": [("mode", 'SUB'), ("wait_for_input", False)]}),
    )

I know it’s assigning a hotkey to a workspacetool.
So the problem is I cant find any infomation about ‘bl_keymap’ in blender api.
And another line of code ‘def draw_settings(context, layout, tool)’ is the same problem.
How can I get infomation about these code?

It’s absent from the docs. It isn’t RNA. bpy.types.WorkSpaceTool.bl_rna has 9 properties on 3.6 and 11 on 5.0.1, and bl_keymap, bl_label and bl_icon are in neither. They’re plain class attributes the tool system reads off your subclass.

Read scripts/startup/bl_ui/space_toolsystem_common.py. ToolDef there holds the real fields: idname, label, description, icon, cursor, widget_properties, widget, keymap, brush_type, data_block, operator, draw_settings, draw_cursor, options. 14 on 4.5+, 13 before that.

On 5.0.1 your tuple is unpacked at line 566 and draw_settings(context, layout, tool) is called from line 797. 52 of 67 built-in tools define one.