IGPAPI
    Preparing search index...

    Interface SearchProfileScreens

    The search and profile screens of the Android runtime, by ScreenId: the typeahead, the SERP with its Top and Accounts tabs, and the profile with its suggested users. An edge names its target by id and reads this registry only where the call is used, so screens that lead to each other (the SERP's user result and the profile whose suggested users open the profile again) type without a cycle. The runtime does not install this domain on its own: the platform's one screen set (androidScreens in android.screens.ts) holds these definitions.

    interface SearchProfileScreens {
        SearchTypeahead: ScreenDefinition<
            "SearchTypeahead",
            "screen",
            {
                lastSeenMedia?: readonly {
                    mediaIds: readonly string[];
                    surfaceType: string;
                    timestamp: number;
                }[];
                query: string;
                session?: {
                    clientUuidRankToken?: string;
                    searchSessionId: string;
                    serpSessionId?: string;
                    typeaheadSessionId?: string;
                };
            },
            {
                query: string;
                rankToken: string;
                results: readonly (
                    | {
                        __typename: "XDTTypeaheadSearchKeyword";
                        keyword_lazified: {
                            id: string;
                            name: string;
                            user?: | {
                                full_name?: string;
                                id: string;
                                is_private?: boolean;
                                is_verified?: boolean;
                                latest_reel_media?: number;
                                profile_pic_url?: string;
                                search_serp_type?: number
                                | null;
                                username: string;
                            }
                            | null;
                        };
                    }
                    | {
                        __typename: "XDTTypeaheadSearchUser";
                        rank_token?: string;
                        user: {
                            full_name?: string;
                            id: string;
                            is_private?: boolean;
                            is_verified?: boolean;
                            latest_reel_media?: number;
                            profile_pic_url?: string;
                            search_serp_type?: number
                            | null;
                            username: string;
                        };
                    }
                    | {
                        __typename: "XDTTypeaheadSearchHashtag";
                        hashtag: { id: string; media_count?: number; name: string };
                    }
                )[];
                session: {
                    clientUuidRankToken: string;
                    searchSessionId: string;
                    serpSessionId?: string;
                    typeaheadSessionId: string;
                };
            },
            SearchTypeaheadState,
            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | SchemaError
            | GraphqlRootFieldMissingError
            | InvalidSkipOrdinalsError
            | ScreenEnterNavigationError,
            MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation,
            {
                change: (
                    self: ScreenHandle,
                    state: SearchTypeaheadState,
                ) => (
                    ...args: [query: string],
                ) => Effect<
                    {
                        is_meta_ai_prompt_echo_enabled?: boolean;
                        rank_token: string;
                        results: readonly (
                            | {
                                __typename: "XDTTypeaheadSearchKeyword";
                                keyword_lazified: {
                                    id: string;
                                    name: string;
                                    user?: (...)
                                    | (...)
                                    | (...);
                                };
                            }
                            | {
                                __typename: "XDTTypeaheadSearchUser";
                                rank_token?: string;
                                user: {
                                    full_name?: (...)
                                    | (...);
                                    id: string;
                                    is_private?: (...) | (...) | (...);
                                    is_verified?: (...) | (...) | (...);
                                    latest_reel_media?: (...) | (...);
                                    profile_pic_url?: (...) | (...);
                                    search_serp_type?: (...) | (...) | (...);
                                    username: string;
                                };
                            }
                            | {
                                __typename: "XDTTypeaheadSearchHashtag";
                                hashtag: { id: string; media_count?: (...)
                                | (...); name: string };
                            }
                        )[];
                    },
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | SchemaError
                    | GraphqlRootFieldMissingError
                    | ScreenNotOnTopError
                    | ScreenEnterConcurrentError,
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack,
                >;
                search: (
                    self: ScreenHandle,
                    state: SearchTypeaheadState,
                ) => (
                    ...args: readonly [string],
                ) => Effect<
                    AssembledHandle<
                        "SerpTop",
                        "screen",
                        {
                            query: string;
                            session: {
                                clientUuidRankToken?: string;
                                searchSessionId: string;
                                serpSessionId: string;
                                typeaheadSessionId?: string;
                            };
                        },
                        {
                            openUsers: (
                                self: ScreenHandle,
                                state: {
                                    query: string;
                                    session: {
                                        clientUuidRankToken?: (...) | (...);
                                        searchSessionId: string;
                                        serpSessionId: string;
                                        typeaheadSessionId?: (...) | (...);
                                    };
                                },
                            ) => (
                                ...args: [],
                            ) => Effect<AssembledHandle<(...), (...), (...), (...), (...), (...)>>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                    >,
                >;
            },
            Record<never, never>,
        >;
        SerpTop: ScreenDefinition<
            "SerpTop",
            "screen",
            {
                lastSeenMedia?: readonly {
                    mediaIds: readonly string[];
                    surfaceType: string;
                    timestamp: number;
                }[];
                query: string;
                session: {
                    clientUuidRankToken: string;
                    searchSessionId: string;
                    serpSessionId?: string;
                    typeaheadSessionId: string;
                };
            },
            {
                query: string;
                session: {
                    clientUuidRankToken?: string;
                    searchSessionId: string;
                    serpSessionId: string;
                    typeaheadSessionId?: string;
                };
            },
            {
                query: string;
                session: {
                    clientUuidRankToken?: string;
                    searchSessionId: string;
                    serpSessionId: string;
                    typeaheadSessionId?: string;
                };
            },
            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | InvalidSkipOrdinalsError
            | ScreenEnterNavigationError,
            | PlainJsonApiHttp
            | MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation,
            {
                openUsers: (
                    self: ScreenHandle,
                    state: {
                        query: string;
                        session: {
                            clientUuidRankToken?: string;
                            searchSessionId: string;
                            serpSessionId: string;
                            typeaheadSessionId?: string;
                        };
                    },
                ) => (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "SerpUsers",
                        "innerTab",
                        {
                            users: readonly {
                                fullName: string;
                                isPrivate: boolean;
                                isVerified: boolean;
                                userId: string;
                                username: string;
                            }[];
                        },
                        {},
                        {
                            results: {
                                at: "users";
                                item: ScreenItemDefinition<
                                    "SerpUser",
                                    {
                                        fullName: string;
                                        isPrivate: boolean;
                                        isVerified: boolean;
                                        userId: string;
                                        username: string;
                                    },
                                    {
                                        fullName: string;
                                        isPrivate: boolean;
                                        isVerified: boolean;
                                        userId: string;
                                        username: string;
                                    },
                                    SerpUserState,
                                    never,
                                    never,
                                    { openProfile: (self: ..., state: ...) => ... },
                                >;
                                key: "userId";
                            };
                        },
                        ScreenHandle,
                    >,
                >;
            },
            Record<never, never>,
        >;
        SerpUsers: ScreenDefinition<
            "SerpUsers",
            "innerTab",
            {
                query: string;
                session: {
                    clientUuidRankToken?: string;
                    searchSessionId: string;
                    serpSessionId: string;
                    typeaheadSessionId?: string;
                };
            },
            {
                users: readonly {
                    fullName: string;
                    isPrivate: boolean;
                    isVerified: boolean;
                    userId: string;
                    username: string;
                }[];
            },
            Record<never, never>,

                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | InvalidSkipOrdinalsError
                | ScreenEnterNavigationError,
            PlainJsonApiHttp
            | MobileDevice
            | NavigationWire
            | MobileNavigation,
            {},
            {
                results: {
                    at: "users";
                    item: ScreenItemDefinition<
                        "SerpUser",
                        {
                            fullName: string;
                            isPrivate: boolean;
                            isVerified: boolean;
                            userId: string;
                            username: string;
                        },
                        {
                            fullName: string;
                            isPrivate: boolean;
                            isVerified: boolean;
                            userId: string;
                            username: string;
                        },
                        SerpUserState,
                        never,
                        never,
                        {
                            openProfile: (
                                self: ScreenHandle,
                                state: SerpUserState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    "UserDetail",
                                    "screen",
                                    {
                                        backgroundFailures: readonly (...)[];
                                        following?: (...) | (...) | (...);
                                        isPrivate: boolean;
                                        media: readonly (...)[];
                                        suggested: readonly (...)[];
                                        userId: string;
                                        username: string;
                                    },
                                    { follow: (self: ..., state: ...) => ... },
                                    { suggestedUsers: { at: ...; item: ...; key: ... } },
                                    ScreenHandle,
                                >,
                            >;
                        },
                    >;
                    key: "userId";
                };
            },
        >;
        UserDetail: ProfileDefinition;
    }
    Index

    Properties

    SearchTypeahead: ScreenDefinition<
        "SearchTypeahead",
        "screen",
        {
            lastSeenMedia?: readonly {
                mediaIds: readonly string[];
                surfaceType: string;
                timestamp: number;
            }[];
            query: string;
            session?: {
                clientUuidRankToken?: string;
                searchSessionId: string;
                serpSessionId?: string;
                typeaheadSessionId?: string;
            };
        },
        {
            query: string;
            rankToken: string;
            results: readonly (
                | {
                    __typename: "XDTTypeaheadSearchKeyword";
                    keyword_lazified: {
                        id: string;
                        name: string;
                        user?: | {
                            full_name?: string;
                            id: string;
                            is_private?: boolean;
                            is_verified?: boolean;
                            latest_reel_media?: number;
                            profile_pic_url?: string;
                            search_serp_type?: number
                            | null;
                            username: string;
                        }
                        | null;
                    };
                }
                | {
                    __typename: "XDTTypeaheadSearchUser";
                    rank_token?: string;
                    user: {
                        full_name?: string;
                        id: string;
                        is_private?: boolean;
                        is_verified?: boolean;
                        latest_reel_media?: number;
                        profile_pic_url?: string;
                        search_serp_type?: number
                        | null;
                        username: string;
                    };
                }
                | {
                    __typename: "XDTTypeaheadSearchHashtag";
                    hashtag: { id: string; media_count?: number; name: string };
                }
            )[];
            session: {
                clientUuidRankToken: string;
                searchSessionId: string;
                serpSessionId?: string;
                typeaheadSessionId: string;
            };
        },
        SearchTypeaheadState,
        | IgApiError
        | RequestError
        | ParseError
        | TransportError
        | SchemaError
        | GraphqlRootFieldMissingError
        | InvalidSkipOrdinalsError
        | ScreenEnterNavigationError,
        MobileDevice
        | GraphqlJsonHttp
        | MobileApplication
        | MobileNavigation,
        {
            change: (
                self: ScreenHandle,
                state: SearchTypeaheadState,
            ) => (
                ...args: [query: string],
            ) => Effect<
                {
                    is_meta_ai_prompt_echo_enabled?: boolean;
                    rank_token: string;
                    results: readonly (
                        | {
                            __typename: "XDTTypeaheadSearchKeyword";
                            keyword_lazified: {
                                id: string;
                                name: string;
                                user?: (...)
                                | (...)
                                | (...);
                            };
                        }
                        | {
                            __typename: "XDTTypeaheadSearchUser";
                            rank_token?: string;
                            user: {
                                full_name?: (...)
                                | (...);
                                id: string;
                                is_private?: (...) | (...) | (...);
                                is_verified?: (...) | (...) | (...);
                                latest_reel_media?: (...) | (...);
                                profile_pic_url?: (...) | (...);
                                search_serp_type?: (...) | (...) | (...);
                                username: string;
                            };
                        }
                        | {
                            __typename: "XDTTypeaheadSearchHashtag";
                            hashtag: { id: string; media_count?: (...)
                            | (...); name: string };
                        }
                    )[];
                },
                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | SchemaError
                | GraphqlRootFieldMissingError
                | ScreenNotOnTopError
                | ScreenEnterConcurrentError,
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | ScreenStack,
            >;
            search: (
                self: ScreenHandle,
                state: SearchTypeaheadState,
            ) => (
                ...args: readonly [string],
            ) => Effect<
                AssembledHandle<
                    "SerpTop",
                    "screen",
                    {
                        query: string;
                        session: {
                            clientUuidRankToken?: string;
                            searchSessionId: string;
                            serpSessionId: string;
                            typeaheadSessionId?: string;
                        };
                    },
                    {
                        openUsers: (
                            self: ScreenHandle,
                            state: {
                                query: string;
                                session: {
                                    clientUuidRankToken?: (...) | (...);
                                    searchSessionId: string;
                                    serpSessionId: string;
                                    typeaheadSessionId?: (...) | (...);
                                };
                            },
                        ) => (
                            ...args: [],
                        ) => Effect<AssembledHandle<(...), (...), (...), (...), (...), (...)>>;
                    },
                    Record<never, never>,
                    ScreenHandle,
                >,
            >;
        },
        Record<never, never>,
    >
    SerpTop: ScreenDefinition<
        "SerpTop",
        "screen",
        {
            lastSeenMedia?: readonly {
                mediaIds: readonly string[];
                surfaceType: string;
                timestamp: number;
            }[];
            query: string;
            session: {
                clientUuidRankToken: string;
                searchSessionId: string;
                serpSessionId?: string;
                typeaheadSessionId: string;
            };
        },
        {
            query: string;
            session: {
                clientUuidRankToken?: string;
                searchSessionId: string;
                serpSessionId: string;
                typeaheadSessionId?: string;
            };
        },
        {
            query: string;
            session: {
                clientUuidRankToken?: string;
                searchSessionId: string;
                serpSessionId: string;
                typeaheadSessionId?: string;
            };
        },
        | IgApiError
        | RequestError
        | ParseError
        | TransportError
        | InvalidSkipOrdinalsError
        | ScreenEnterNavigationError,
        | PlainJsonApiHttp
        | MobileDevice
        | GraphqlJsonHttp
        | MobileApplication
        | MobileNavigation,
        {
            openUsers: (
                self: ScreenHandle,
                state: {
                    query: string;
                    session: {
                        clientUuidRankToken?: string;
                        searchSessionId: string;
                        serpSessionId: string;
                        typeaheadSessionId?: string;
                    };
                },
            ) => (
                ...args: [],
            ) => Effect<
                AssembledHandle<
                    "SerpUsers",
                    "innerTab",
                    {
                        users: readonly {
                            fullName: string;
                            isPrivate: boolean;
                            isVerified: boolean;
                            userId: string;
                            username: string;
                        }[];
                    },
                    {},
                    {
                        results: {
                            at: "users";
                            item: ScreenItemDefinition<
                                "SerpUser",
                                {
                                    fullName: string;
                                    isPrivate: boolean;
                                    isVerified: boolean;
                                    userId: string;
                                    username: string;
                                },
                                {
                                    fullName: string;
                                    isPrivate: boolean;
                                    isVerified: boolean;
                                    userId: string;
                                    username: string;
                                },
                                SerpUserState,
                                never,
                                never,
                                { openProfile: (self: ..., state: ...) => ... },
                            >;
                            key: "userId";
                        };
                    },
                    ScreenHandle,
                >,
            >;
        },
        Record<never, never>,
    >
    SerpUsers: ScreenDefinition<
        "SerpUsers",
        "innerTab",
        {
            query: string;
            session: {
                clientUuidRankToken?: string;
                searchSessionId: string;
                serpSessionId: string;
                typeaheadSessionId?: string;
            };
        },
        {
            users: readonly {
                fullName: string;
                isPrivate: boolean;
                isVerified: boolean;
                userId: string;
                username: string;
            }[];
        },
        Record<never, never>,

            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | InvalidSkipOrdinalsError
            | ScreenEnterNavigationError,
        PlainJsonApiHttp
        | MobileDevice
        | NavigationWire
        | MobileNavigation,
        {},
        {
            results: {
                at: "users";
                item: ScreenItemDefinition<
                    "SerpUser",
                    {
                        fullName: string;
                        isPrivate: boolean;
                        isVerified: boolean;
                        userId: string;
                        username: string;
                    },
                    {
                        fullName: string;
                        isPrivate: boolean;
                        isVerified: boolean;
                        userId: string;
                        username: string;
                    },
                    SerpUserState,
                    never,
                    never,
                    {
                        openProfile: (
                            self: ScreenHandle,
                            state: SerpUserState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            AssembledHandle<
                                "UserDetail",
                                "screen",
                                {
                                    backgroundFailures: readonly (...)[];
                                    following?: (...) | (...) | (...);
                                    isPrivate: boolean;
                                    media: readonly (...)[];
                                    suggested: readonly (...)[];
                                    userId: string;
                                    username: string;
                                },
                                { follow: (self: ..., state: ...) => ... },
                                { suggestedUsers: { at: ...; item: ...; key: ... } },
                                ScreenHandle,
                            >,
                        >;
                    },
                >;
                key: "userId";
            };
        },
    >
    UserDetail: ProfileDefinition