igpapi — Instagram private API Simulator for Node.js (API reference) 4.14.0
    Preparing search index...

    Variable DirectRecipientPickerScreenConst

    DirectRecipientPickerScreen: ScreenDefinition<
        "DirectRecipientPicker",
        "screen",
        { mode: "group"; searchSessionId: string }
        | undefined,
        {
            recipients: readonly {
                full_name: string;
                pk: string;
                username: string;
            }[];
            searchSessionId: string;
            threads: readonly {
                is_group: boolean;
                muted?: boolean;
                preview: readonly {
                    client_context?: string;
                    item_id: string;
                    item_type: string;
                    media?: | {
                        height: number;
                        media_type: 1;
                        pk: string;
                        url: string;
                        width: number;
                    }
                    | {
                        height: number;
                        media_type: 2;
                        pk: string;
                        url: string;
                        width: number;
                    }
                    | {
                        media_type: 8;
                        pk: string;
                        slides: readonly { media_type: (...)
                        | (...); pk: string; url: string }[];
                    };
                    text?: string;
                    timestamp: string;
                    user_id: string;
                }[];
                thread_id: string;
                thread_title: string;
                thread_v2_id?: string;
                users: readonly {
                    fbid_v2?: string;
                    full_name: string;
                    pk: string;
                    username: string;
                }[];
            }[];
        },
        { mode: "default"
        | "group"; searchSessionId: string },

            | IgCheckpointError
            | IgAccountSuspendedError
            | IgAccountDisabledError
            | IgLoginRequiredError
            | IgUserLoggedOutError,
        | GraphqlJsonHttp
        | MobileApplication
        | MobileNavigation
        | AndroidDirectSurface,
        {
            createGroup: (
                self: ScreenHandle,
                state: { mode: "default" | "group"; searchSessionId: string },
            ) => (
                ...args: [
                    rows: readonly { full_name: string; pk: string; username: string }[],
                ],
            ) => Effect<
                AssembledHandle<
                    "DirectThread",
                    "screen",
                    {
                        media: readonly (
                            | {
                                height: number;
                                media_type: 1;
                                pk: string;
                                url: string;
                                width: number;
                            }
                            | {
                                height: number;
                                media_type: 2;
                                pk: string;
                                url: string;
                                width: number;
                            }
                            | { media_type: 8; pk: string; slides: readonly (...)[] }
                        )[];
                        messages: readonly {
                            client_context?: string;
                            item_id: string;
                            item_type: string;
                            media?:
                                | { height: ...; media_type: ...; pk: ...; url: ...; width: ... }
                                | { height: ...; media_type: ...; pk: ...; url: ...; width: ... }
                                | { media_type: ...; pk: ...; slides: ... };
                            text?: string;
                            timestamp: string;
                            user_id: string;
                        }[];
                        thread: {
                            is_group: boolean;
                            muted?: boolean;
                            thread_id: string;
                            thread_title: string;
                            thread_v2_id?: string;
                        };
                        users: readonly {
                            fbid_v2?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                    },
                    {
                        openCustomizeChat: (
                            self: ScreenHandle,
                            state:
                                | {
                                    has_messages: boolean;
                                    is_group: false;
                                    ordinal_reserved?: (...)
                                    | (...)
                                    | (...);
                                    participants: readonly (...)[];
                                    peer_user_fbid?: (...) | (...);
                                    peer_user_id?: (...) | (...);
                                    send_attribution?: (...) | (...) | (...) | (...) | (...);
                                    thread_id: string;
                                    thread_title: string;
                                    thread_v2_id?: (...) | (...);
                                }
                                | {
                                    has_messages: boolean;
                                    is_group: true;
                                    lead_user_id?: (...)
                                    | (...);
                                    ordinal_reserved?: (...) | (...) | (...);
                                    participants: readonly (...)[];
                                    send_attribution?: (...) | (...) | (...) | (...) | (...);
                                    thread_id: string;
                                    thread_title: string;
                                    thread_v2_id?: (...) | (...);
                                },
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ScreenDefinition<
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                >,
                                [],
                                "button",
                                AndroidScreens,
                            >,
                            (...args: []) => Effect<(...), (...), (...)>,
                        >;
                        openThreadDetails: (
                            self: ScreenHandle,
                            state:
                                | {
                                    has_messages: boolean;
                                    is_group: false;
                                    ordinal_reserved?: (...)
                                    | (...)
                                    | (...);
                                    participants: readonly (...)[];
                                    peer_user_fbid?: (...) | (...);
                                    peer_user_id?: (...) | (...);
                                    send_attribution?: (...) | (...) | (...) | (...) | (...);
                                    thread_id: string;
                                    thread_title: string;
                                    thread_v2_id?: (...) | (...);
                                }
                                | {
                                    has_messages: boolean;
                                    is_group: true;
                                    lead_user_id?: (...)
                                    | (...);
                                    ordinal_reserved?: (...) | (...) | (...);
                                    participants: readonly (...)[];
                                    send_attribution?: (...) | (...) | (...) | (...) | (...);
                                    thread_id: string;
                                    thread_title: string;
                                    thread_v2_id?: (...) | (...);
                                },
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ScreenDefinition<
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                >,
                                [],
                                "button",
                                AndroidScreens,
                            >,
                            (...args: []) => Effect<(...), (...), (...)>,
                        >;
                        sendMessage: (
                            self: ScreenHandle,
                            state:
                                | {
                                    has_messages: boolean;
                                    is_group: false;
                                    ordinal_reserved?: (...)
                                    | (...)
                                    | (...);
                                    participants: readonly (...)[];
                                    peer_user_fbid?: (...) | (...);
                                    peer_user_id?: (...) | (...);
                                    send_attribution?: (...) | (...) | (...) | (...) | (...);
                                    thread_id: string;
                                    thread_title: string;
                                    thread_v2_id?: (...) | (...);
                                }
                                | {
                                    has_messages: boolean;
                                    is_group: true;
                                    lead_user_id?: (...)
                                    | (...);
                                    ordinal_reserved?: (...) | (...) | (...);
                                    participants: readonly (...)[];
                                    send_attribution?: (...) | (...) | (...) | (...) | (...);
                                    thread_id: string;
                                    thread_title: string;
                                    thread_v2_id?: (...) | (...);
                                },
                        ) => (
                            ...args: [text: string],
                        ) => Effect<
                            (...) & (...),
                            (...) | (...) | (...) | (...) | (...),

                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),
                        >;
                    },
                    {
                        media: {
                            at: "media";
                            by: "media_type";
                            key: "pk";
                            source: ScreenItemNodes;
                            variants: {
                                "1": ScreenItemDefinition<
                                    "DirectPhoto",
                                    { height: ...; media_type: ...; pk: ...; url: ...; width: ... },
                                    { height: ...; media_type: ...; pk: ...; url: ...; width: ... },
                                    Record<(...), (...)>,
                                    never,
                                    never,
                                    {},
                                    undefined,
                                    never,
                                >;
                                "2": ScreenItemDefinition<
                                    "DirectVideo",
                                    { height: ...; media_type: ...; pk: ...; url: ...; width: ... },
                                    { height: ...; media_type: ...; pk: ...; url: ...; width: ... },
                                    Record<(...), (...)>,
                                    never,
                                    never,
                                    {},
                                    undefined,
                                    never,
                                >;
                                "8": ScreenItemDefinition<
                                    "DirectCarousel",
                                    { media_type: ...; pk: ...; slides: ... },
                                    { media_type: ...; pk: ...; slides: ... },
                                    Record<(...), (...)>,
                                    never,
                                    never,
                                    {},
                                    undefined,
                                    never,
                                >;
                            };
                        };
                        messages: {
                            at: "messages";
                            item: ScreenItemDefinition<
                                "DirectThreadMessage",
                                {
                                    client_context?: (...)
                                    | (...);
                                    item_id: string;
                                    item_type: string;
                                    media?: (...) | (...) | (...) | (...);
                                    text?: (...) | (...);
                                    timestamp: string;
                                    user_id: string;
                                },
                                {
                                    client_context?: (...)
                                    | (...);
                                    item_id: string;
                                    item_type: string;
                                    media?: (...) | (...) | (...) | (...);
                                    text?: (...) | (...);
                                    timestamp: string;
                                    user_id: string;
                                },
                                DirectThreadMessageState,
                                never,
                                never,
                                { react: (self: ..., state: ...) => ... },

                                    | {
                                        has_messages: ...;
                                        is_group: ...;
                                        ordinal_reserved?: ...;
                                        participants: ...;
                                        peer_user_fbid?: ...;
                                        peer_user_id?: ...;
                                        send_attribution?: ...;
                                        thread_id: ...;
                                        thread_title: ...;
                                        thread_v2_id?: ...;
                                    }
                                    | {
                                        has_messages: ...;
                                        is_group: ...;
                                        lead_user_id?: ...;
                                        ordinal_reserved?: ...;
                                        participants: ...;
                                        send_attribution?: ...;
                                        thread_id: ...;
                                        thread_title: ...;
                                        thread_v2_id?: ...;
                                    },
                                never,
                            >;
                            key: "item_id";
                            source: ScreenItemNodes;
                        };
                        participants: {
                            at: "users";
                            item: ScreenItemDefinition<
                                "DirectThreadParticipant",
                                {
                                    fbid_v2?: (...)
                                    | (...);
                                    full_name: string;
                                    pk: string;
                                    username: string;
                                },
                                {
                                    fbid_v2?: (...)
                                    | (...);
                                    full_name: string;
                                    pk: string;
                                    username: string;
                                },
                                DirectThreadParticipantState,
                                never,
                                never,
                                { openNicknameEditor: (self: ..., state: ...) => ... },

                                    | {
                                        has_messages: ...;
                                        is_group: ...;
                                        ordinal_reserved?: ...;
                                        participants: ...;
                                        peer_user_fbid?: ...;
                                        peer_user_id?: ...;
                                        send_attribution?: ...;
                                        thread_id: ...;
                                        thread_title: ...;
                                        thread_v2_id?: ...;
                                    }
                                    | {
                                        has_messages: ...;
                                        is_group: ...;
                                        lead_user_id?: ...;
                                        ordinal_reserved?: ...;
                                        participants: ...;
                                        send_attribution?: ...;
                                        thread_id: ...;
                                        thread_title: ...;
                                        thread_v2_id?: ...;
                                    },
                                never,
                            >;
                            key: "pk";
                            source: ScreenItemNodes;
                        };
                    },
                    ScreenHandle,
                    "required",
                    true,
                    never,
                    AndroidScreens,
                >,
                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | ScreenDataError
                | ScreenEnterConcurrentError
                | ScreenEdgeInputError
                | DirectInboxSeqIdUnknownError
                | DirectThreadNotFoundByParticipantsError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | MobileUserFlows
                | ScreenStack
                | AndroidQuickPromotionStash
                | ScreenCatalog,
            >;
            openCreatedThread: ActionEdge<
                (
                    self: ScreenHandle,
                    state: { mode: "default" | "group"; searchSessionId: string },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "DirectThread",
                            "screen",
                            | {
                                kind: "thread";
                                send_attribution?: | "inbox"
                                | "inbox_new_message"
                                | "message_button"
                                | "direct_thread_creation_omnipicker";
                                thread: {
                                    is_group: boolean;
                                    muted?: (...)
                                    | (...)
                                    | (...);
                                    preview: readonly (...)[];
                                    thread_id: string;
                                    thread_title: string;
                                    thread_v2_id?: (...) | (...);
                                    users: readonly (...)[];
                                };
                            }
                            | {
                                kind: "recipient";
                                recipient: string;
                                send_attribution?: | "inbox"
                                | "inbox_new_message"
                                | "message_button"
                                | "direct_thread_creation_omnipicker";
                            }
                            | {
                                kind: "created";
                                target_user_ids: readonly string[];
                                thread_id: string;
                                thread_v2_id: string;
                            },
                            {
                                media: readonly (
                                    | { height: ...; media_type: ...; pk: ...; url: ...; width: ... }
                                    | { height: ...; media_type: ...; pk: ...; url: ...; width: ... }
                                    | { media_type: ...; pk: ...; slides: ... }
                                )[];
                                messages: readonly {
                                    client_context?: (...) | (...);
                                    item_id: string;
                                    item_type: string;
                                    media?: (...) | (...) | (...) | (...);
                                    text?: (...) | (...);
                                    timestamp: string;
                                    user_id: string;
                                }[];
                                thread: {
                                    is_group: boolean;
                                    muted?: boolean;
                                    thread_id: string;
                                    thread_title: string;
                                    thread_v2_id?: string;
                                };
                                users: readonly {
                                    fbid_v2?: (...)
                                    | (...);
                                    full_name: string;
                                    pk: string;
                                    username: string;
                                }[];
                            },
                            | {
                                has_messages: boolean;
                                is_group: false;
                                ordinal_reserved?: boolean;
                                participants: readonly {
                                    fbid_v2?: ...;
                                    full_name: ...;
                                    pk: ...;
                                    username: ...;
                                }[];
                                peer_user_fbid?: string;
                                peer_user_id?: string;
                                send_attribution?: | "inbox"
                                | "inbox_new_message"
                                | "message_button"
                                | "direct_thread_creation_omnipicker";
                                thread_id: string;
                                thread_title: string;
                                thread_v2_id?: string;
                            }
                            | {
                                has_messages: boolean;
                                is_group: true;
                                lead_user_id?: string;
                                ordinal_reserved?: boolean;
                                participants: readonly {
                                    fbid_v2?: ...;
                                    full_name: ...;
                                    pk: ...;
                                    username: ...;
                                }[];
                                send_attribution?: | "inbox"
                                | "inbox_new_message"
                                | "message_button"
                                | "direct_thread_creation_omnipicker";
                                thread_id: string;
                                thread_title: string;
                                thread_v2_id?: string;
                            },
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | ScreenDataError
                            | DirectInboxSeqIdUnknownError
                            | DirectThreadNotFoundByParticipantsError,
                            | PlainJsonApiHttp
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation
                            | MobileUserFlows
                            | AndroidQuickPromotionStash,
                            {
                                openCustomizeChat: (
                                    self: ScreenHandle,
                                    state:
                                        | {
                                            has_messages: ...;
                                            is_group: ...;
                                            ordinal_reserved?: ...;
                                            participants: ...;
                                            peer_user_fbid?: ...;
                                            peer_user_id?: ...;
                                            send_attribution?: ...;
                                            thread_id: ...;
                                            thread_title: ...;
                                            thread_v2_id?: ...;
                                        }
                                        | {
                                            has_messages: ...;
                                            is_group: ...;
                                            lead_user_id?: ...;
                                            ordinal_reserved?: ...;
                                            participants: ...;
                                            send_attribution?: ...;
                                            thread_id: ...;
                                            thread_title: ...;
                                            thread_v2_id?: ...;
                                        },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                                openThreadDetails: (
                                    self: ScreenHandle,
                                    state:
                                        | {
                                            has_messages: ...;
                                            is_group: ...;
                                            ordinal_reserved?: ...;
                                            participants: ...;
                                            peer_user_fbid?: ...;
                                            peer_user_id?: ...;
                                            send_attribution?: ...;
                                            thread_id: ...;
                                            thread_title: ...;
                                            thread_v2_id?: ...;
                                        }
                                        | {
                                            has_messages: ...;
                                            is_group: ...;
                                            lead_user_id?: ...;
                                            ordinal_reserved?: ...;
                                            participants: ...;
                                            send_attribution?: ...;
                                            thread_id: ...;
                                            thread_title: ...;
                                            thread_v2_id?: ...;
                                        },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                                sendMessage: (
                                    self: ScreenHandle,
                                    state:
                                        | {
                                            has_messages: ...;
                                            is_group: ...;
                                            ordinal_reserved?: ...;
                                            participants: ...;
                                            peer_user_fbid?: ...;
                                            peer_user_id?: ...;
                                            send_attribution?: ...;
                                            thread_id: ...;
                                            thread_title: ...;
                                            thread_v2_id?: ...;
                                        }
                                        | {
                                            has_messages: ...;
                                            is_group: ...;
                                            lead_user_id?: ...;
                                            ordinal_reserved?: ...;
                                            participants: ...;
                                            send_attribution?: ...;
                                            thread_id: ...;
                                            thread_title: ...;
                                            thread_v2_id?: ...;
                                        },
                                ) => (...args: [text: ...]) => Effect<(...), (...), (...)>;
                            },
                            {
                                media: {
                                    at: "media";
                                    by: "media_type";
                                    key: "pk";
                                    source: ScreenItemNodes;
                                    variants: {
                                        "1": ScreenItemDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >;
                                        "2": ScreenItemDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >;
                                        "8": ScreenItemDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >;
                                    };
                                };
                                messages: {
                                    at: "messages";
                                    item: ScreenItemDefinition<
                                        "DirectThreadMessage",
                                        {
                                            client_context?: ...;
                                            item_id: ...;
                                            item_type: ...;
                                            media?: ...;
                                            text?: ...;
                                            timestamp: ...;
                                            user_id: ...;
                                        },
                                        {
                                            client_context?: ...;
                                            item_id: ...;
                                            item_type: ...;
                                            media?: ...;
                                            text?: ...;
                                            timestamp: ...;
                                            user_id: ...;
                                        },
                                        DirectThreadMessageState,
                                        never,
                                        never,
                                        { react: ... },
                                        (...) | (...),
                                        never,
                                    >;
                                    key: "item_id";
                                    source: ScreenItemNodes;
                                };
                                participants: {
                                    at: "users";
                                    item: ScreenItemDefinition<
                                        "DirectThreadParticipant",
                                        { fbid_v2?: ...; full_name: ...; pk: ...; username: ... },
                                        { fbid_v2?: ...; full_name: ...; pk: ...; username: ... },
                                        DirectThreadParticipantState,
                                        never,
                                        never,
                                        { openNicknameEditor: ... },
                                        (...) | (...),
                                        never,
                                    >;
                                    key: "pk";
                                    source: ScreenItemNodes;
                                };
                            },
                            never,
                            never,
                        >,
                        readonly [
                            {
                                target_user_ids: readonly string[];
                                thread_id: string;
                                thread_v2_id: string;
                            },
                        ],
                        "inbox_new_message",
                        AndroidScreens,
                    >,
                    (
                        ...args: readonly [
                            {
                                target_user_ids: readonly string[];
                                thread_id: string;
                                thread_v2_id: string;
                            },
                        ],
                    ) => Effect<
                        AssembledHandle<
                            "DirectThread",
                            "screen",
                            {
                                media: readonly ((...) | (...) | (...))[];
                                messages: readonly {
                                    client_context?: ...;
                                    item_id: ...;
                                    item_type: ...;
                                    media?: ...;
                                    text?: ...;
                                    timestamp: ...;
                                    user_id: ...;
                                }[];
                                thread: {
                                    is_group: boolean;
                                    muted?: (...)
                                    | (...)
                                    | (...);
                                    thread_id: string;
                                    thread_title: string;
                                    thread_v2_id?: (...) | (...);
                                };
                                users: readonly {
                                    fbid_v2?: ...;
                                    full_name: ...;
                                    pk: ...;
                                    username: ...;
                                }[];
                            },
                            {
                                openCustomizeChat: (
                                    self: ScreenHandle,
                                    state: (...) | (...),
                                ) => ScreenEdgeBound<(...), (...)>;
                                openThreadDetails: (
                                    self: ScreenHandle,
                                    state: (...) | (...),
                                ) => ScreenEdgeBound<(...), (...)>;
                                sendMessage: (
                                    self: ScreenHandle,
                                    state: (...) | (...),
                                ) => (...args: ...) => ...;
                            },
                            {
                                media: {
                                    at: "media";
                                    by: "media_type";
                                    key: "pk";
                                    source: ScreenItemNodes;
                                    variants: { "1": ...; "2": ...; "8": ... };
                                };
                                messages: {
                                    at: "messages";
                                    item: ScreenItemDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >;
                                    key: "item_id";
                                    source: ScreenItemNodes;
                                };
                                participants: {
                                    at: "users";
                                    item: ScreenItemDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >;
                                    key: "pk";
                                    source: ScreenItemNodes;
                                };
                            },
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError
                        | DirectInboxSeqIdUnknownError
                        | DirectThreadNotFoundByParticipantsError,
                        | PlainJsonApiHttp
                        | MobileSession
                        | MobileDevice
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation
                        | MobileUserFlows
                        | ScreenStack
                        | AndroidQuickPromotionStash
                        | ScreenCatalog,
                    >,
                >,
            >;
            search: (
                self: ScreenHandle,
                state: { mode: "default" | "group"; searchSessionId: string },
            ) => (
                ...args: [query: string],
            ) => Effect<
                {
                    recipients: readonly ScreenListItem<
                        { at: ...; item: ...; key: ...; source: ... },
                        ScreenHandle,
                    >[] & { "~rows"?: ScreenItemRowsShape<(...)> };
                    threads: readonly ScreenListItem<
                        { at: ...; item: ...; key: ...; source: ... },
                        ScreenHandle,
                    >[] & { "~rows"?: ScreenItemRowsShape<(...)> };
                } & { raw: ActionRaw },

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenDataError
                    | ScreenEnterConcurrentError,
                PlainJsonApiHttp
                | MobileNavigation
                | ScreenStack,
            >;
            startGroupChat: (
                self: ScreenHandle,
                state: { mode: "default" | "group"; searchSessionId: string },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    (
                        ScreenDefinition<"DirectRecipientPicker", "screen", { readonly mode: "group"; readonly searchSessionId: string; } | undefined, { readonly recipients: readonly { readonly pk: string; readonly username: string; readonly full_name: string; }[]; readonly threads: readonly { ...; }[]; readonly searchSessionId: string; },...
                    ),
                    [],
                    "button",
                    AndroidScreens,
                >,
                () => Effect<
                    AssembledHandle<
                        "DirectRecipientPicker",
                        "screen",
                        {
                            recipients: readonly {
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                            searchSessionId: string;
                            threads: readonly {
                                is_group: boolean;
                                muted?: (...)
                                | (...)
                                | (...);
                                preview: readonly (...)[];
                                thread_id: string;
                                thread_title: string;
                                thread_v2_id?: (...) | (...);
                                users: readonly (...)[];
                            }[];
                        },
                        (
                            { search: (self: ScreenHandle, state: { readonly mode: "default" | "group"; readonly searchSessionId: string; }) => (...args: [query: ...]) => Effect<{ recipients: readonly ScreenListItem<{ readonly at: "recipients"; readonly key: "pk"; readonly source: ScreenItemNodes; readonly item: ScreenItemDefinition<...>; }, S...
                        ),
                        {
                            recipients: {
                                at: "recipients";
                                item: ScreenItemDefinition<
                                    "DirectRecipient",
                                    { full_name: ...; pk: ...; username: ... },
                                    { full_name: ...; pk: ...; username: ... },
                                    { userId: ... },
                                    never,
                                    never,
                                    { openThread: ... },
                                    undefined,
                                    never,
                                >;
                                key: "pk";
                                source: ScreenItemNodes;
                            };
                            threads: {
                                at: "threads";
                                item: ScreenItemDefinition<
                                    "DirectPickerThread",
                                    {
                                        is_group: ...;
                                        muted?: ...;
                                        preview: ...;
                                        thread_id: ...;
                                        thread_title: ...;
                                        thread_v2_id?: ...;
                                        users: ...;
                                    },
                                    {
                                        is_group: ...;
                                        muted?: ...;
                                        preview: ...;
                                        thread_id: ...;
                                        thread_title: ...;
                                        thread_v2_id?: ...;
                                        users: ...;
                                    },
                                    { thread: ... },
                                    never,
                                    never,
                                    { openThread: ... },
                                    undefined,
                                    never,
                                >;
                                key: "thread_id";
                                source: ScreenItemNodes;
                            };
                        },
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,
                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError,
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | AndroidDirectSurface,
                >,
            >;
        },
        {
            recipients: {
                at: "recipients";
                item: ScreenItemDefinition<
                    "DirectRecipient",
                    { full_name: string; pk: string; username: string },
                    { full_name: string; pk: string; username: string },
                    { userId: string },
                    never,
                    never,
                    {
                        openThread: (
                            self: ScreenHandle,
                            state: { userId: string },
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ScreenDefinition<
                                    "DirectThread",
                                    "screen",
                                    | { kind: ...; send_attribution?: ...; thread: ... }
                                    | { kind: ...; recipient: ...; send_attribution?: ... }
                                    | {
                                        kind: ...;
                                        target_user_ids: ...;
                                        thread_id: ...;
                                        thread_v2_id: ...;
                                    },
                                    {
                                        media: readonly (...)[];
                                        messages: readonly (...)[];
                                        thread: {
                                            is_group: ...;
                                            muted?: ...;
                                            thread_id: ...;
                                            thread_title: ...;
                                            thread_v2_id?: ...;
                                        };
                                        users: readonly (...)[];
                                    },
                                    | {
                                        has_messages: ...;
                                        is_group: ...;
                                        ordinal_reserved?: ...;
                                        participants: ...;
                                        peer_user_fbid?: ...;
                                        peer_user_id?: ...;
                                        send_attribution?: ...;
                                        thread_id: ...;
                                        thread_title: ...;
                                        thread_v2_id?: ...;
                                    }
                                    | {
                                        has_messages: ...;
                                        is_group: ...;
                                        lead_user_id?: ...;
                                        ordinal_reserved?: ...;
                                        participants: ...;
                                        send_attribution?: ...;
                                        thread_id: ...;
                                        thread_title: ...;
                                        thread_v2_id?: ...;
                                    },
                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | DirectInboxSeqIdUnknownError
                                    | DirectThreadNotFoundByParticipantsError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | MobileNavigation
                                    | MobileUserFlows
                                    | AndroidQuickPromotionStash,
                                    {
                                        openCustomizeChat: (self: ..., state: ...) => ...;
                                        openThreadDetails: (self: ..., state: ...) => ...;
                                        sendMessage: (self: ..., state: ...) => ...;
                                    },
                                    {
                                        media: {
                                            at: ...;
                                            by: ...;
                                            key: ...;
                                            source: ...;
                                            variants: ...;
                                        };
                                        messages: { at: ...; item: ...; key: ...; source: ... };
                                        participants: { at: ...; item: ...; key: ...; source: ... };
                                    },
                                    never,
                                    never,
                                >,
                                [],
                                "button",
                                AndroidScreens,
                            >,
                            (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    "DirectThread",
                                    "screen",
                                    { media: ...; messages: ...; thread: ...; users: ... },
                                    { openCustomizeChat: ...; openThreadDetails: ...; sendMessage: ... },
                                    { media: ...; messages: ...; participants: ... },
                                    ScreenHandle,
                                    "required",
                                    true,
                                    never,
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError
                                    | DirectInboxSeqIdUnknownError
                                    | DirectThreadNotFoundByParticipantsError,
                                | PlainJsonApiHttp
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack
                                | AndroidQuickPromotionStash
                                | ScreenCatalog,
                            >,
                        >;
                    },
                    undefined,
                    never,
                >;
                key: "pk";
                source: ScreenItemNodes;
            };
            threads: {
                at: "threads";
                item: ScreenItemDefinition<
                    "DirectPickerThread",
                    {
                        is_group: boolean;
                        muted?: boolean;
                        preview: readonly {
                            client_context?: string;
                            item_id: string;
                            item_type: string;
                            media?: | {
                                height: number;
                                media_type: 1;
                                pk: string;
                                url: string;
                                width: number;
                            }
                            | {
                                height: number;
                                media_type: 2;
                                pk: string;
                                url: string;
                                width: number;
                            }
                            | {
                                media_type: 8;
                                pk: string;
                                slides: readonly { media_type: ...; pk: ...; url: ... }[];
                            };
                            text?: string;
                            timestamp: string;
                            user_id: string;
                        }[];
                        thread_id: string;
                        thread_title: string;
                        thread_v2_id?: string;
                        users: readonly {
                            fbid_v2?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                    },
                    {
                        is_group: boolean;
                        muted?: boolean;
                        preview: readonly {
                            client_context?: string;
                            item_id: string;
                            item_type: string;
                            media?: | {
                                height: number;
                                media_type: 1;
                                pk: string;
                                url: string;
                                width: number;
                            }
                            | {
                                height: number;
                                media_type: 2;
                                pk: string;
                                url: string;
                                width: number;
                            }
                            | {
                                media_type: 8;
                                pk: string;
                                slides: readonly { media_type: ...; pk: ...; url: ... }[];
                            };
                            text?: string;
                            timestamp: string;
                            user_id: string;
                        }[];
                        thread_id: string;
                        thread_title: string;
                        thread_v2_id?: string;
                        users: readonly {
                            fbid_v2?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                    },
                    {
                        thread: {
                            is_group: boolean;
                            muted?: boolean;
                            preview: readonly {
                                client_context?: string;
                                item_id: string;
                                item_type: string;
                                media?: | {
                                    height: number;
                                    media_type: 1;
                                    pk: string;
                                    url: string;
                                    width: number;
                                }
                                | {
                                    height: number;
                                    media_type: 2;
                                    pk: string;
                                    url: string;
                                    width: number;
                                }
                                | { media_type: 8; pk: string; slides: readonly (...)[] };
                                text?: string;
                                timestamp: string;
                                user_id: string;
                            }[];
                            thread_id: string;
                            thread_title: string;
                            thread_v2_id?: string;
                            users: readonly {
                                fbid_v2?: string;
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                        };
                    },
                    never,
                    never,
                    {
                        openThread: (
                            self: ScreenHandle,
                            state: {
                                thread: {
                                    is_group: boolean;
                                    muted?: boolean;
                                    preview: readonly {
                                        client_context?: (...) | (...);
                                        item_id: string;
                                        item_type: string;
                                        media?: (...) | (...) | (...) | (...);
                                        text?: (...) | (...);
                                        timestamp: string;
                                        user_id: string;
                                    }[];
                                    thread_id: string;
                                    thread_title: string;
                                    thread_v2_id?: string;
                                    users: readonly {
                                        fbid_v2?: (...)
                                        | (...);
                                        full_name: string;
                                        pk: string;
                                        username: string;
                                    }[];
                                };
                            },
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ScreenDefinition<
                                    "DirectThread",
                                    "screen",
                                    | { kind: ...; send_attribution?: ...; thread: ... }
                                    | { kind: ...; recipient: ...; send_attribution?: ... }
                                    | {
                                        kind: ...;
                                        target_user_ids: ...;
                                        thread_id: ...;
                                        thread_v2_id: ...;
                                    },
                                    {
                                        media: readonly (...)[];
                                        messages: readonly (...)[];
                                        thread: {
                                            is_group: ...;
                                            muted?: ...;
                                            thread_id: ...;
                                            thread_title: ...;
                                            thread_v2_id?: ...;
                                        };
                                        users: readonly (...)[];
                                    },
                                    | {
                                        has_messages: ...;
                                        is_group: ...;
                                        ordinal_reserved?: ...;
                                        participants: ...;
                                        peer_user_fbid?: ...;
                                        peer_user_id?: ...;
                                        send_attribution?: ...;
                                        thread_id: ...;
                                        thread_title: ...;
                                        thread_v2_id?: ...;
                                    }
                                    | {
                                        has_messages: ...;
                                        is_group: ...;
                                        lead_user_id?: ...;
                                        ordinal_reserved?: ...;
                                        participants: ...;
                                        send_attribution?: ...;
                                        thread_id: ...;
                                        thread_title: ...;
                                        thread_v2_id?: ...;
                                    },
                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | DirectInboxSeqIdUnknownError
                                    | DirectThreadNotFoundByParticipantsError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | MobileNavigation
                                    | MobileUserFlows
                                    | AndroidQuickPromotionStash,
                                    {
                                        openCustomizeChat: (self: ..., state: ...) => ...;
                                        openThreadDetails: (self: ..., state: ...) => ...;
                                        sendMessage: (self: ..., state: ...) => ...;
                                    },
                                    {
                                        media: {
                                            at: ...;
                                            by: ...;
                                            key: ...;
                                            source: ...;
                                            variants: ...;
                                        };
                                        messages: { at: ...; item: ...; key: ...; source: ... };
                                        participants: { at: ...; item: ...; key: ...; source: ... };
                                    },
                                    never,
                                    never,
                                >,
                                [],
                                "inbox_new_message",
                                AndroidScreens,
                            >,
                            (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    "DirectThread",
                                    "screen",
                                    { media: ...; messages: ...; thread: ...; users: ... },
                                    { openCustomizeChat: ...; openThreadDetails: ...; sendMessage: ... },
                                    { media: ...; messages: ...; participants: ... },
                                    ScreenHandle,
                                    "required",
                                    true,
                                    never,
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError
                                    | DirectInboxSeqIdUnknownError
                                    | DirectThreadNotFoundByParticipantsError,
                                | PlainJsonApiHttp
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack
                                | AndroidQuickPromotionStash
                                | ScreenCatalog,
                            >,
                        >;
                    },
                    undefined,
                    never,
                >;
                key: "thread_id";
                source: ScreenItemNodes;
            };
        },
        never,
        never,
    > = ...

    DirectRecipientPickerFragment:direct_recipient_picker, the inbox's "New message" screen (Android 451), one screen with two openings: the inbox's openNewMessage() and its own "Group chat" row (startGroupChat), which re-enters it in group mode at the next ordinal — the app names the identity at both, direct_recipient_picker:3:button then :4:button.

    What a person sees: a "To:" search field, the "Group chat" row, the people and — in the default mode, where the search shows threads — the conversations the last search answered. Its enter sends the Direct search's warm start and, behind it, the suggestion list (IGDirectGetPresenceQuery; in 1:1 the answer is empty, so the picker opens with no rows) only when this process has not warmed the search yet — the warm-up is the first Direct screen's, and a picker over an inbox that warmed the process sends neither (AndroidDirectSurface); both are best-effort as the app treats them. The "Group chat" re-entry sends nothing of its own.

    Actions: search(query) is one keystroke's direct_v2/ranked_recipients/ request (mode=raven, max_ig_results=10, the generated-result limits 0), and its answer's rows are the fresh item handles a caller continues from — the visit's list stays what it loaded. Every search of one visit reports the visit's search session (data.searchSessionId, minted when the inbox's "New message" opens the picker and carried through the "Group chat" re-entry) as the request's x-pigeon-session-id, where the other requests report the device's Pigeon session. The mode decides show_threads: true in the 1:1 picker, false in the group picker. Each DirectRecipient row opens the thread with that person (openThread, source button, the next ordinal, direct_thread_creation_omnipicker); each DirectPickerThread row opens that conversation (openThread, source inbox_new_message, the next ordinal). search answers both lists, the answer's rows as fresh item handles: { recipients, threads }. In group mode, createGroup(rows) creates the group with the picked rows and opens the conversation the answer names (direct_thread:5:inbox_new_message).

    How it is reached: DirectInboxScreen.openNewMessage(), then its own startGroupChat().

    No screenshot: the frames of the app show other people's accounts.

    Guide: "New message": the recipient picker