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

    Interface AndroidScreens

    The screens of the Android runtime, by ScreenId: one registry for every domain, not one per domain — an edge that crosses domains (a feed's search, a profile's contextual feed) must name its target in the same registry as the edges inside one domain. 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 platform's screen set (androidScreens in android.screens.ts) holds these definitions and installs them.

    interface AndroidScreens {
        AccountRecoveryAuthenticationConfirmation: ScreenDefinition<
            "AccountRecoveryAuthenticationConfirmation",
            "screen",
            { identifier: string; ticket: string & Brand<"SearchTicket"> },
            { ticket: string & Brand<"CodeEntryTicket"> },
            { ticket: string & Brand<"CodeEntryTicket"> },
            BloksHttpError | AccountRecoveryBloksIssuedParamsMissingError,

                | MobileDevice
                | MobileApplication
                | BloksHttp
                | MobileDisplayScaleWire
                | MobileNavigation
                | AccountRecoveryTickets,
            {
                logInWithCode: (
                    self: ScreenHandle,
                    state: { ticket: string & Brand<"CodeEntryTicket"> },
                ) => (
                    ...args: [code: string],
                ) => Effect<
                    AccountRecoveryFirstScreen,
                    | IgNotFoundError
                    | IgRateLimitError
                    | IgSpamError
                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgCookieConsentRequiredError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | IgPrivateUserError
                    | IgInactiveUserError
                    | IgSentryBlockError
                    | IgIpBlockError
                    | IgLoginTwoFactorRequiredError
                    | RequestError
                    | ParseError
                    | TransportError
                    | LoginBloksParseError
                    | IgBloks429Error
                    | AccountRecoveryBloksIssuedParamsMissingError
                    | AccountRecoveryBloksUnknownResponseError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | AppAlreadyStartedError,
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | SessionHeaderParser
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | AccountRecoveryTickets,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        AccountRecoveryEmailCode: ScreenDefinition<
            "AccountRecoveryEmailCode",
            "screen",
            undefined,
            {
                maskedContact?: string;
                ticket: string & Brand<"LastResortCodeEntryTicket">;
            },
            {
                maskedContact?: string;
                ticket: string & Brand<"LastResortCodeEntryTicket">;
            },
            BloksHttpError
            | AccountRecoveryBloksIssuedParamsMissingError,

                | MobileSession
                | MobileDevice
                | MobileApplication
                | BloksHttp
                | MobileDisplayScaleWire
                | MobileNavigation
                | AccountRecoveryTickets,
            {
                requestNewCode: (
                    self: ScreenHandle,
                    state: {
                        maskedContact?: string;
                        ticket: string & Brand<"LastResortCodeEntryTicket">;
                    },
                ) => (
                    ...args: [],
                ) => Effect<
                    AccountRecoveryFirstScreen
                    | ActionValue<undefined>,

                        | IgNotFoundError
                        | IgRateLimitError
                        | IgSpamError
                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgCookieConsentRequiredError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | IgPrivateUserError
                        | IgInactiveUserError
                        | IgSentryBlockError
                        | IgIpBlockError
                        | IgLoginTwoFactorRequiredError
                        | RequestError
                        | ParseError
                        | TransportError
                        | LoginBloksParseError
                        | IgBloks429Error
                        | AccountRecoveryBloksUnknownResponseError
                        | AccountRecoveryBloksInvalidCodeError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | AppAlreadyStartedError,
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | SessionHeaderParser
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | AccountRecoveryTickets,
                >;
                submitCode: (
                    self: ScreenHandle,
                    state: {
                        maskedContact?: string;
                        ticket: string & Brand<"LastResortCodeEntryTicket">;
                    },
                ) => (
                    ...args: [code: string],
                ) => Effect<
                    AccountRecoveryFirstScreen,
                    | IgNotFoundError
                    | IgRateLimitError
                    | IgSpamError
                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgCookieConsentRequiredError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | IgPrivateUserError
                    | IgInactiveUserError
                    | IgSentryBlockError
                    | IgIpBlockError
                    | IgLoginTwoFactorRequiredError
                    | RequestError
                    | ParseError
                    | TransportError
                    | LoginBloksParseError
                    | IgBloks429Error
                    | AccountRecoveryBloksUnknownResponseError
                    | AccountRecoveryBloksInvalidCodeError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | AppAlreadyStartedError,
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | SessionHeaderParser
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | AccountRecoveryTickets,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        AccountRecoverySearch: ScreenDefinition<
            "AccountRecoverySearch",
            "screen",
            { aac: string; ticket?: string & Brand<"RecoveryActionTicket"> },
            {
                aac: string;
                searchScreenType: string;
                searchTicket: string & Brand<"SearchTicket">;
                textInputId: string;
                waterfallId: string;
            },
            {
                aac: string;
                searchScreenType: string;
                searchTicket: string & Brand<"SearchTicket">;
                textInputId: string;
                waterfallId: string;
            },
            BloksHttpError
            | AccountRecoveryBloksIssuedParamsMissingError,

                | MobileDevice
                | MobileApplication
                | BloksHttp
                | MobileDisplayScaleWire
                | MobileNavigation
                | AccountRecoveryTickets,
            {
                findAccount: (
                    self: ScreenHandle,
                    state: {
                        aac: string;
                        searchScreenType: string;
                        searchTicket: string & Brand<"SearchTicket">;
                        textInputId: string;
                        waterfallId: string;
                    },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "AccountRecoveryAuthenticationConfirmation",
                            "screen",
                            { identifier: string; ticket: string & Brand<"SearchTicket"> },
                            { ticket: string & Brand<"CodeEntryTicket"> },
                            { ticket: string & Brand<"CodeEntryTicket"> },
                            BloksHttpError | AccountRecoveryBloksIssuedParamsMissingError,

                                | MobileDevice
                                | MobileApplication
                                | BloksHttp
                                | MobileDisplayScaleWire
                                | MobileNavigation
                                | AccountRecoveryTickets,
                            {
                                logInWithCode: (
                                    self: ScreenHandle,
                                    state: { ticket: string & Brand<(...)> },
                                ) => (
                                    ...args: [code: string],
                                ) => Effect<
                                    AccountRecoveryFirstScreen,
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        readonly [string],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: readonly [string],
                    ) => Effect<
                        AssembledHandle<
                            "AccountRecoveryAuthenticationConfirmation",
                            "screen",
                            { ticket: string & Brand<"CodeEntryTicket"> },
                            {
                                logInWithCode: (
                                    self: ScreenHandle,
                                    state: { ticket: (...) & (...) },
                                ) => (...args: [code: ...]) => Effect<(...), (...), (...)>;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,

                            | BloksHttpError
                            | AccountRecoveryBloksIssuedParamsMissingError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | MobileDevice
                        | MobileApplication
                        | BloksHttp
                        | MobileDisplayScaleWire
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog
                        | AccountRecoveryTickets,
                    >,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        AccountRecoverySuccessLocationPermission: ScreenDefinition<
            "AccountRecoverySuccessLocationPermission",
            "screen",
            undefined,
            {},
            Record<never, never>,

                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgLoginRequiredError
                | IgUserLoggedOutError,
            PlainJsonApiHttp
            | MobileNavigation,
            {
                close: (
                    self: ScreenHandle,
                    _state: never,
                ) => () => Effect<
                    ScreenFrameHandle
                    | undefined,
                    ScreenEnterConcurrentError,
                    MobileNavigation | ScreenStack,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        DirectCustomizeChat: ScreenDefinition<
            "DirectCustomizeChat",
            "screen",
            { thread_v2_id: string },
            { thread_v2_id: string },
            { thread_v2_id: string },
            never,
            MobileNavigation,
            {
                openThemePicker: (
                    self: ScreenHandle,
                    state: { thread_v2_id: string },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "DirectThreadThemePicker",
                            "screen",
                            { thread_v2_id: string },
                            { themes: readonly { name: string; theme_id: string }[] },
                            { thread_v2_id: string },
                            IgApiError | RequestError | ParseError | TransportError,

                                | PlainJsonApiHttp
                                | GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation
                                | AndroidThrottlingDetector,
                            {},
                            {
                                themes: {
                                    at: "themes";
                                    item: ScreenItemDefinition<
                                        "DirectTheme",
                                        { name: string; theme_id: string },
                                        { name: string; theme_id: string },
                                        DirectThemeState,
                                        never,
                                        never,
                                        { setTheme: (self: ..., state: ...) => ... },
                                        { thread_v2_id: string },
                                        never,
                                    >;
                                    key: "theme_id";
                                    source: ScreenItemNodes;
                                };
                            },
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "DirectThreadThemePicker",
                            "screen",
                            { themes: readonly { name: string; theme_id: string }[] },
                            {},
                            {
                                themes: {
                                    at: "themes";
                                    item: ScreenItemDefinition<
                                        "DirectTheme",
                                        { name: ...; theme_id: ... },
                                        { name: ...; theme_id: ... },
                                        DirectThemeState,
                                        never,
                                        never,
                                        { setTheme: ... },
                                        { thread_v2_id: ... },
                                        never,
                                    >;
                                    key: "theme_id";
                                    source: ScreenItemNodes;
                                };
                            },
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                        | PlainJsonApiHttp
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation
                        | ScreenStack
                        | AndroidThrottlingDetector
                        | ScreenCatalog,
                    >,
                >;
            },
            Record<never, never>,
            never,
            "thread_v2_id",
        >;
        DirectGroupNameAndPhotoEditor: ScreenDefinition<
            "DirectGroupNameAndPhotoEditor",
            "screen",
            { is_group: boolean; thread_title: string; thread_v2_id: string },
            { is_group: boolean; thread_title: string; thread_v2_id: string },
            { is_group: boolean; thread_title: string; thread_v2_id: string },
            never,
            MobileNavigation,
            {
                changeName: (
                    self: ScreenHandle,
                    state: { is_group: boolean; thread_title: string; thread_v2_id: string },
                ) => (
                    ...args: [name: string],
                ) => Effect<
                    DirectThreadUpdateTitleResponse & { raw: ActionRaw },

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenEnterConcurrentError,
                    PlainJsonApiHttp
                    | MobileDevice
                    | MobileNavigation
                    | ScreenStack,
                >;
            },
            Record<never, never>,
            never,
            "thread_v2_id",
        >;
        DirectInbox: ScreenDefinition<
            "DirectInbox",
            "tab",
            undefined,
            {
                threads: readonly {
                    is_group: boolean;
                    last_activity_at: string;
                    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;
                    }[];
                }[];
            },
            Record<never, never>,
            IgApiError | RequestError | ParseError | TransportError | SchemaError,

                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | AndroidDirectSurface,
            {
                openNewMessage: (
                    self: ScreenHandle,
                    state: Record<never, never>,
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        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?: ...;
                                        item_id: ...;
                                        item_type: ...;
                                        media?: ...;
                                        text?: ...;
                                        timestamp: ...;
                                        user_id: ...;
                                    }[];
                                    thread_id: string;
                                    thread_title: string;
                                    thread_v2_id?: string;
                                    users: readonly {
                                        fbid_v2?: ...;
                                        full_name: ...;
                                        pk: ...;
                                        username: ...;
                                    }[];
                                }[];
                            },
                            { 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 (...)[]],
                                ) => Effect<
                                    AssembledHandle<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >;
                                openCreatedThread: ActionEdge<
                                    (
                                        self: ScreenHandle,
                                        state: { mode: (...) | (...); searchSessionId: string },
                                    ) => ScreenEdgeBound<
                                        ScreenEdgeShape<(...), (...), (...), (...)>,
                                        (...args: ...) => ...,
                                    >,
                                >;
                                search: (
                                    self: ScreenHandle,
                                    state: { mode: "default" | "group"; searchSessionId: string },
                                ) => (
                                    ...args: [query: string],
                                ) => Effect<
                                    (...) & (...),
                                    (...) | (...) | (...) | (...) | (...) | (...),
                                    (...) | (...) | (...),
                                >;
                                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 searchSessi...
                                    ),
                                    () => Effect<(...), (...), (...)>,
                                >;
                            },
                            {
                                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: ..., state: ...) => ... },
                                        undefined,
                                        never,
                                    >;
                                    key: "pk";
                                    source: ScreenItemNodes;
                                };
                                threads: {
                                    at: "threads";
                                    item: ScreenItemDefinition<
                                        "DirectPickerThread",
                                        {
                                            is_group: boolean;
                                            muted?: (...)
                                            | (...)
                                            | (...);
                                            preview: readonly (...)[];
                                            thread_id: string;
                                            thread_title: string;
                                            thread_v2_id?: (...) | (...);
                                            users: readonly (...)[];
                                        },
                                        {
                                            is_group: boolean;
                                            muted?: (...)
                                            | (...)
                                            | (...);
                                            preview: readonly (...)[];
                                            thread_id: string;
                                            thread_title: string;
                                            thread_v2_id?: (...) | (...);
                                            users: readonly (...)[];
                                        },
                                        {
                                            thread: {
                                                is_group: ...;
                                                muted?: ...;
                                                preview: ...;
                                                thread_id: ...;
                                                thread_title: ...;
                                                thread_v2_id?: ...;
                                                users: ...;
                                            };
                                        },
                                        never,
                                        never,
                                        { openThread: (self: ..., state: ...) => ... },
                                        undefined,
                                        never,
                                    >;
                                    key: "thread_id";
                                    source: ScreenItemNodes;
                                };
                            },
                            never,
                            never,
                        >,
                        [],
                        "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 (...)[];
                                }[];
                            },
                            {
                                createGroup: (
                                    self: ScreenHandle,
                                    state: { mode: (...) | (...); searchSessionId: string },
                                ) => (...args: [rows: ...]) => Effect<(...), (...), (...)>;
                                openCreatedThread: ActionEdge<
                                    (
                                        self: ScreenHandle,
                                        state: { mode: ...; searchSessionId: ... },
                                    ) => ScreenEdgeBound<(...), (...)>,
                                >;
                                search: (
                                    self: ScreenHandle,
                                    state: { mode: (...) | (...); searchSessionId: string },
                                ) => (...args: [query: ...]) => Effect<(...), (...), (...)>;
                                startGroupChat: (
                                    self: ScreenHandle,
                                    state: { mode: (...) | (...); searchSessionId: string },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    () => ...,
                                >;
                            },
                            {
                                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,
                    >,
                >;
            },
            {
                threads: {
                    at: "threads";
                    item: ScreenItemDefinition<
                        "DirectInboxThread",
                        {
                            is_group: boolean;
                            last_activity_at: string;
                            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;
                            last_activity_at: string;
                            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,
                        {
                            open: (
                                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",
                                    AndroidScreens,
                                >,
                                () => 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_v2_id";
                    source: ScreenItemNodes;
                };
            },
            never,
            never,
        >;
        DirectRecipientPicker: 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,
        >;
        DirectThread: ScreenDefinition<
            "DirectThread",
            "screen",
            | {
                kind: "thread";
                send_attribution?: | "inbox"
                | "inbox_new_message"
                | "message_button"
                | "direct_thread_creation_omnipicker";
                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 {
                                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;
                    }[];
                };
            }
            | {
                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: 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: 1
                        | 2; pk: string; url: string }[];
                    }
                )[];
                messages: 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: 1
                        | 2; pk: string; url: string }[];
                    };
                    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;
                }[];
            },
            | {
                has_messages: boolean;
                is_group: false;
                ordinal_reserved?: boolean;
                participants: readonly {
                    fbid_v2?: string;
                    full_name: string;
                    pk: string;
                    username: string;
                }[];
                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?: string;
                    full_name: string;
                    pk: string;
                    username: string;
                }[];
                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: boolean;
                            is_group: false;
                            ordinal_reserved?: boolean;
                            participants: readonly {
                                fbid_v2?: string;
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                            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?: string;
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                            send_attribution?: | "inbox"
                            | "inbox_new_message"
                            | "message_button"
                            | "direct_thread_creation_omnipicker";
                            thread_id: string;
                            thread_title: string;
                            thread_v2_id?: string;
                        },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "DirectCustomizeChat",
                            "screen",
                            { thread_v2_id: string },
                            { thread_v2_id: string },
                            { thread_v2_id: string },
                            never,
                            MobileNavigation,
                            {
                                openThemePicker: (
                                    self: ScreenHandle,
                                    state: { thread_v2_id: string },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        [],
                                        "button",
                                        AndroidScreens,
                                    >,
                                    (...args: []) => Effect<(...), (...), (...)>,
                                >;
                            },
                            Record<never, never>,
                            never,
                            "thread_v2_id",
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "DirectCustomizeChat",
                            "screen",
                            { thread_v2_id: string },
                            {
                                openThemePicker: (
                                    self: ScreenHandle,
                                    state: { thread_v2_id: string },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            "thread_v2_id",
                            AndroidScreens,
                        >,
                        ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                        MobileNavigation | ScreenStack | ScreenCatalog,
                    >,
                >;
                openThreadDetails: (
                    self: ScreenHandle,
                    state:
                        | {
                            has_messages: boolean;
                            is_group: false;
                            ordinal_reserved?: boolean;
                            participants: readonly {
                                fbid_v2?: string;
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                            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?: string;
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                            send_attribution?: | "inbox"
                            | "inbox_new_message"
                            | "message_button"
                            | "direct_thread_creation_omnipicker";
                            thread_id: string;
                            thread_title: string;
                            thread_v2_id?: string;
                        },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "DirectThreadDetails",
                            "screen",
                            | {
                                is_group: false;
                                peer_user_fbid?: string;
                                peer_user_id?: string;
                                thread_title: string;
                                thread_v2_id: string;
                            }
                            | {
                                is_group: true;
                                lead_user_id?: string;
                                thread_title: string;
                                thread_v2_id: string;
                            },
                            | {
                                is_group: false;
                                peer_user_fbid?: string;
                                peer_user_id?: string;
                                thread_title: string;
                                thread_v2_id: string;
                            }
                            | {
                                is_group: true;
                                lead_user_id?: string;
                                thread_title: string;
                                thread_v2_id: string;
                            },
                            | {
                                is_group: false;
                                peer_user_fbid?: string;
                                peer_user_id?: string;
                                thread_title: string;
                                thread_v2_id: string;
                            }
                            | {
                                is_group: true;
                                lead_user_id?: string;
                                thread_title: string;
                                thread_v2_id: string;
                            },
                            IgApiError
                            | RequestError
                            | ParseError
                            | TransportError,

                                | PlainJsonApiHttp
                                | GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation,
                            {
                                openSharedMedia: (
                                    self: ScreenHandle,
                                    state:
                                        | {
                                            is_group: false;
                                            peer_user_fbid?: (...)
                                            | (...);
                                            peer_user_id?: (...) | (...);
                                            thread_title: string;
                                            thread_v2_id: string;
                                        }
                                        | {
                                            is_group: true;
                                            lead_user_id?: (...)
                                            | (...);
                                            thread_title: string;
                                            thread_v2_id: string;
                                        },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        [],
                                        "button",
                                        AndroidScreens,
                                    >,
                                    (...args: []) => Effect<(...), (...), (...)>,
                                >;
                            },
                            Record<never, never>,
                            never,
                            "thread_v2_id",
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "DirectThreadDetails",
                            "screen",
                            | {
                                is_group: false;
                                peer_user_fbid?: string;
                                peer_user_id?: string;
                                thread_title: string;
                                thread_v2_id: string;
                            }
                            | {
                                is_group: true;
                                lead_user_id?: string;
                                thread_title: string;
                                thread_v2_id: string;
                            },
                            {
                                openSharedMedia: (
                                    self: ScreenHandle,
                                    state:
                                        | {
                                            is_group: ...;
                                            peer_user_fbid?: ...;
                                            peer_user_id?: ...;
                                            thread_title: ...;
                                            thread_v2_id: ...;
                                        }
                                        | {
                                            is_group: ...;
                                            lead_user_id?: ...;
                                            thread_title: ...;
                                            thread_v2_id: ...;
                                        },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            "thread_v2_id",
                            AndroidScreens,
                        >,

                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | PlainJsonApiHttp
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog,
                    >,
                >;
                sendMessage: (
                    self: ScreenHandle,
                    state:
                        | {
                            has_messages: boolean;
                            is_group: false;
                            ordinal_reserved?: boolean;
                            participants: readonly {
                                fbid_v2?: string;
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                            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?: string;
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                            send_attribution?: | "inbox"
                            | "inbox_new_message"
                            | "message_button"
                            | "direct_thread_creation_omnipicker";
                            thread_id: string;
                            thread_title: string;
                            thread_v2_id?: string;
                        },
                ) => (
                    ...args: [text: string],
                ) => Effect<
                    {
                        action: string;
                        client_context: string;
                        message_metadata: DirectBroadcastResponseMessageMetadata[];
                        payload: DirectBroadcastResponsePayload;
                        status: string;
                        status_code: string;
                    } & { raw: ActionRaw },

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenEnterConcurrentError,
                    | PlainJsonApiHttp
                    | Signature
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | NavigationWire
                    | MobileNavigation
                    | MobileUserFlows
                    | ScreenStack
                    | AndroidQuickPromotionStash,
                >;
            },
            {
                media: {
                    at: "media";
                    by: "media_type";
                    key: "pk";
                    source: ScreenItemNodes;
                    variants: {
                        "1": ScreenItemDefinition<
                            "DirectPhoto",
                            {
                                height: number;
                                media_type: 1;
                                pk: string;
                                url: string;
                                width: number;
                            },
                            {
                                height: number;
                                media_type: 1;
                                pk: string;
                                url: string;
                                width: number;
                            },
                            Record<never, never>,
                            never,
                            never,
                            {},
                            undefined,
                            never,
                        >;
                        "2": ScreenItemDefinition<
                            "DirectVideo",
                            {
                                height: number;
                                media_type: 2;
                                pk: string;
                                url: string;
                                width: number;
                            },
                            {
                                height: number;
                                media_type: 2;
                                pk: string;
                                url: string;
                                width: number;
                            },
                            Record<never, never>,
                            never,
                            never,
                            {},
                            undefined,
                            never,
                        >;
                        "8": ScreenItemDefinition<
                            "DirectCarousel",
                            {
                                media_type: 8;
                                pk: string;
                                slides: readonly { media_type: 1
                                | 2; pk: string; url: string }[];
                            },
                            {
                                media_type: 8;
                                pk: string;
                                slides: readonly { media_type: 1
                                | 2; pk: string; url: string }[];
                            },
                            Record<never, never>,
                            never,
                            never,
                            {},
                            undefined,
                            never,
                        >;
                    };
                };
                messages: {
                    at: "messages";
                    item: ScreenItemDefinition<
                        "DirectThreadMessage",
                        {
                            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: 1
                                | 2; pk: string; url: string }[];
                            };
                            text?: string;
                            timestamp: string;
                            user_id: string;
                        },
                        {
                            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: 1
                                | 2; pk: string; url: string }[];
                            };
                            text?: string;
                            timestamp: string;
                            user_id: string;
                        },
                        DirectThreadMessageState,
                        never,
                        never,
                        {
                            react: (
                                self: ScreenHandle,
                                state: DirectThreadMessageState,
                            ) => (
                                ...args: [reaction: "like"],
                            ) => Effect<
                                {
                                    action: string;
                                    client_context: string;
                                    message_metadata: (...)[];
                                    payload: DirectBroadcastResponsePayload;
                                    status: string;
                                    status_code: string;
                                } & { raw: ActionRaw },

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileDevice
                                | NavigationWire
                                | MobileNavigation
                                | ScreenStack,
                            >;
                        },
                        | {
                            has_messages: boolean;
                            is_group: false;
                            ordinal_reserved?: boolean;
                            participants: readonly {
                                fbid_v2?: string;
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                            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?: string;
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                            send_attribution?: | "inbox"
                            | "inbox_new_message"
                            | "message_button"
                            | "direct_thread_creation_omnipicker";
                            thread_id: string;
                            thread_title: string;
                            thread_v2_id?: string;
                        },
                        never,
                    >;
                    key: "item_id";
                    source: ScreenItemNodes;
                };
                participants: {
                    at: "users";
                    item: ScreenItemDefinition<
                        "DirectThreadParticipant",
                        { fbid_v2?: string; full_name: string; pk: string; username: string },
                        { fbid_v2?: string; full_name: string; pk: string; username: string },
                        DirectThreadParticipantState,
                        never,
                        never,
                        {
                            openNicknameEditor: (
                                self: ScreenHandle,
                                state: DirectThreadParticipantState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        "DirectThreadNicknameChange",
                                        "screen",
                                        { thread_v2_id: string; user_id: string },
                                        { thread_v2_id: string; user_id: string },
                                        { thread_v2_id: string; user_id: string },
                                        never,
                                        MobileNavigation,
                                        { changeNickname: (self: ..., state: ...) => ... },
                                        Record<never, never>,
                                        never,
                                        "user_id",
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: [],
                                ) => Effect<
                                    AssembledHandle<
                                        "DirectThreadNicknameChange",
                                        "screen",
                                        { thread_v2_id: ...; user_id: ... },
                                        { changeNickname: ... },
                                        Record<(...), (...)>,
                                        ScreenHandle,
                                        "required",
                                        true,
                                        "user_id",
                                        AndroidScreens,
                                    >,
                                    ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                                    MobileNavigation | ScreenStack | ScreenCatalog,
                                >,
                            >;
                        },
                        | {
                            has_messages: boolean;
                            is_group: false;
                            ordinal_reserved?: boolean;
                            participants: readonly {
                                fbid_v2?: string;
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                            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?: string;
                                full_name: string;
                                pk: string;
                                username: string;
                            }[];
                            send_attribution?: | "inbox"
                            | "inbox_new_message"
                            | "message_button"
                            | "direct_thread_creation_omnipicker";
                            thread_id: string;
                            thread_title: string;
                            thread_v2_id?: string;
                        },
                        never,
                    >;
                    key: "pk";
                    source: ScreenItemNodes;
                };
            },
            never,
            never,
        >;
        DirectThreadDetails: ScreenDefinition<
            "DirectThreadDetails",
            "screen",
            | {
                is_group: false;
                peer_user_fbid?: string;
                peer_user_id?: string;
                thread_title: string;
                thread_v2_id: string;
            }
            | {
                is_group: true;
                lead_user_id?: string;
                thread_title: string;
                thread_v2_id: string;
            },
            | {
                is_group: false;
                peer_user_fbid?: string;
                peer_user_id?: string;
                thread_title: string;
                thread_v2_id: string;
            }
            | {
                is_group: true;
                lead_user_id?: string;
                thread_title: string;
                thread_v2_id: string;
            },
            | {
                is_group: false;
                peer_user_fbid?: string;
                peer_user_id?: string;
                thread_title: string;
                thread_v2_id: string;
            }
            | {
                is_group: true;
                lead_user_id?: string;
                thread_title: string;
                thread_v2_id: string;
            },
            IgApiError
            | RequestError
            | ParseError
            | TransportError,
            PlainJsonApiHttp | GraphqlJsonHttp | MobileApplication | MobileNavigation,
            {
                openSharedMedia: (
                    self: ScreenHandle,
                    state:
                        | {
                            is_group: false;
                            peer_user_fbid?: string;
                            peer_user_id?: string;
                            thread_title: string;
                            thread_v2_id: string;
                        }
                        | {
                            is_group: true;
                            lead_user_id?: string;
                            thread_title: string;
                            thread_v2_id: string;
                        },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "DirectThreadSharedMedia",
                            "screen",
                            { is_group: boolean; thread_title: string; thread_v2_id: string },
                            { is_group: boolean; thread_title: string; thread_v2_id: string },
                            { is_group: boolean; thread_title: string; thread_v2_id: string },
                            IgApiError | RequestError | ParseError | TransportError,
                            PlainJsonApiHttp | MobileNavigation | AndroidDirectSurface,
                            {
                                openCustomizeChat: (
                                    self: ScreenHandle,
                                    state: {
                                        is_group: boolean;
                                        thread_title: string;
                                        thread_v2_id: string;
                                    },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        [],
                                        "button",
                                        AndroidScreens,
                                    >,
                                    () => Effect<(...), (...), (...)>,
                                >;
                                openGroupNameEditor: (
                                    self: ScreenHandle,
                                    state: {
                                        is_group: boolean;
                                        thread_title: string;
                                        thread_v2_id: string;
                                    },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        [],
                                        "button",
                                        AndroidScreens,
                                    >,
                                    (...args: []) => Effect<(...), (...), (...)>,
                                >;
                            },
                            Record<never, never>,
                            never,
                            "thread_v2_id",
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "DirectThreadSharedMedia",
                            "screen",
                            { is_group: boolean; thread_title: string; thread_v2_id: string },
                            {
                                openCustomizeChat: (
                                    self: ScreenHandle,
                                    state: {
                                        is_group: boolean;
                                        thread_title: string;
                                        thread_v2_id: string;
                                    },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    () => ...,
                                >;
                                openGroupNameEditor: (
                                    self: ScreenHandle,
                                    state: {
                                        is_group: boolean;
                                        thread_title: string;
                                        thread_v2_id: string;
                                    },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            "thread_v2_id",
                            AndroidScreens,
                        >,

                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | PlainJsonApiHttp
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog
                        | AndroidDirectSurface,
                    >,
                >;
            },
            Record<never, never>,
            never,
            "thread_v2_id",
        >;
        DirectThreadNicknameChange: ScreenDefinition<
            "DirectThreadNicknameChange",
            "screen",
            { thread_v2_id: string; user_id: string },
            { thread_v2_id: string; user_id: string },
            { thread_v2_id: string; user_id: string },
            never,
            MobileNavigation,
            {
                changeNickname: (
                    self: ScreenHandle,
                    state: { thread_v2_id: string; user_id: string },
                ) => (
                    ...args: [nickname: string],
                ) => Effect<
                    ActionValue<false>
                    | ActionValue<true>,

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | SchemaError
                        | GraphqlRootFieldMissingError
                        | ScreenEnterConcurrentError,
                    GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack,
                >;
            },
            Record<never, never>,
            never,
            "user_id",
        >;
        DirectThreadSharedMedia: ScreenDefinition<
            "DirectThreadSharedMedia",
            "screen",
            { is_group: boolean; thread_title: string; thread_v2_id: string },
            { is_group: boolean; thread_title: string; thread_v2_id: string },
            { is_group: boolean; thread_title: string; thread_v2_id: string },
            IgApiError | RequestError | ParseError | TransportError,
            PlainJsonApiHttp | MobileNavigation | AndroidDirectSurface,
            {
                openCustomizeChat: (
                    self: ScreenHandle,
                    state: { is_group: boolean; thread_title: string; thread_v2_id: string },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "DirectCustomizeChat",
                            "screen",
                            { thread_v2_id: string },
                            { thread_v2_id: string },
                            { thread_v2_id: string },
                            never,
                            MobileNavigation,
                            {
                                openThemePicker: (
                                    self: ScreenHandle,
                                    state: { thread_v2_id: string },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        [],
                                        "button",
                                        AndroidScreens,
                                    >,
                                    (...args: []) => Effect<(...), (...), (...)>,
                                >;
                            },
                            Record<never, never>,
                            never,
                            "thread_v2_id",
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    () => Effect<
                        AssembledHandle<
                            "DirectCustomizeChat",
                            "screen",
                            { thread_v2_id: string },
                            {
                                openThemePicker: (
                                    self: ScreenHandle,
                                    state: { thread_v2_id: string },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            "thread_v2_id",
                            AndroidScreens,
                        >,
                        ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                        MobileNavigation | ScreenStack | ScreenCatalog,
                    >,
                >;
                openGroupNameEditor: (
                    self: ScreenHandle,
                    state: { is_group: boolean; thread_title: string; thread_v2_id: string },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "DirectGroupNameAndPhotoEditor",
                            "screen",
                            { is_group: boolean; thread_title: string; thread_v2_id: string },
                            { is_group: boolean; thread_title: string; thread_v2_id: string },
                            { is_group: boolean; thread_title: string; thread_v2_id: string },
                            never,
                            MobileNavigation,
                            {
                                changeName: (
                                    self: ScreenHandle,
                                    state: {
                                        is_group: boolean;
                                        thread_title: string;
                                        thread_v2_id: string;
                                    },
                                ) => (
                                    ...args: [name: string],
                                ) => Effect<
                                    (...) & (...),
                                    (...) | (...) | (...) | (...) | (...),
                                    (...) | (...) | (...) | (...),
                                >;
                            },
                            Record<never, never>,
                            never,
                            "thread_v2_id",
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "DirectGroupNameAndPhotoEditor",
                            "screen",
                            { is_group: boolean; thread_title: string; thread_v2_id: string },
                            {
                                changeName: (
                                    self: ScreenHandle,
                                    state: {
                                        is_group: boolean;
                                        thread_title: string;
                                        thread_v2_id: string;
                                    },
                                ) => (...args: [name: ...]) => Effect<(...), (...), (...)>;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            "thread_v2_id",
                            AndroidScreens,
                        >,
                        ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                        MobileNavigation | ScreenStack | ScreenCatalog,
                    >,
                >;
            },
            Record<never, never>,
            never,
            "thread_v2_id",
        >;
        DirectThreadThemePicker: ScreenDefinition<
            "DirectThreadThemePicker",
            "screen",
            { thread_v2_id: string },
            { themes: readonly { name: string; theme_id: string }[] },
            { thread_v2_id: string },
            IgApiError | RequestError | ParseError | TransportError,

                | PlainJsonApiHttp
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | AndroidThrottlingDetector,
            {},
            {
                themes: {
                    at: "themes";
                    item: ScreenItemDefinition<
                        "DirectTheme",
                        { name: string; theme_id: string },
                        { name: string; theme_id: string },
                        DirectThemeState,
                        never,
                        never,
                        {
                            setTheme: (
                                self: ScreenHandle,
                                state: DirectThemeState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                DirectThreadSetThemeResponse & { raw: ActionRaw },

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError,
                                PlainJsonApiHttp
                                | MobileDevice
                                | MobileNavigation
                                | ScreenStack,
                            >;
                        },
                        { thread_v2_id: string },
                        never,
                    >;
                    key: "theme_id";
                    source: ScreenItemNodes;
                };
            },
            never,
            never,
        >;
        EditProfile: ScreenDefinition<
            "EditProfile",
            "screen",
            {
                metaVerifiedOffers: {
                    enhancedProfile: boolean;
                    shareableLinks: boolean;
                };
            },
            {
                backgroundFailures: readonly {
                    message?: string;
                    request: "contactPointPrefill"
                    | "identityReminder";
                    tag: string;
                }[];
                biography: string;
                bioLinks: readonly {
                    linkId: string;
                    linkType: string;
                    title: string;
                    url: string;
                }[];
                fullName: string;
                profileEditParams: {
                    fullName: {
                        confirmationDialogText: string;
                        disclaimerText: string;
                        isPendingReview: boolean;
                        shouldShowConfirmationDialog: boolean;
                    };
                    username: {
                        confirmationDialogText: string;
                        disclaimerText: string;
                        isPendingReview: boolean;
                        shouldShowConfirmationDialog: boolean;
                    };
                };
                userId: string;
                username: string;
            },
            EditProfileState,
            IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,

                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | PlainNdjsonApiHttp
                | MobileNavigation
                | MobileUserFlows,
            {
                openBio: (
                    self: ScreenHandle,
                    state: EditProfileState,
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "EditProfileBio",
                            "screen",
                            { biography: string },
                            { biography: string },
                            Record<never, never>,

                                | IgCheckpointError
                                | IgAccountSuspendedError
                                | IgAccountDisabledError
                                | IgLoginRequiredError
                                | IgUserLoggedOutError,
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation,
                            {
                                changeBio: (
                                    self: ScreenHandle,
                                    state: State,
                                ) => (
                                    ...args: [text: string],
                                ) => Effect<
                                    (...) & (...),
                                    (...) | (...) | (...) | (...) | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "EditProfileBio",
                            "screen",
                            { biography: string },
                            {
                                changeBio: (
                                    self: ScreenHandle,
                                    state: State,
                                ) => (...args: [text: ...]) => Effect<(...), (...), (...)>;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,

                            | IgCheckpointError
                            | IgAccountSuspendedError
                            | IgAccountDisabledError
                            | IgLoginRequiredError
                            | IgUserLoggedOutError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | MobileSession
                        | MobileDevice
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog,
                    >,
                >;
                openLinks: (
                    self: ScreenHandle,
                    state: EditProfileState,
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "EditProfileLinks",
                            "screen",
                            {
                                links: readonly {
                                    linkId: string;
                                    linkType: string;
                                    title: string;
                                    url: string;
                                }[];
                            },
                            {
                                links: readonly {
                                    linkId: string;
                                    linkType: string;
                                    title: string;
                                    url: string;
                                }[];
                            },
                            Record<never, never>,

                                | IgCheckpointError
                                | IgAccountSuspendedError
                                | IgAccountDisabledError
                                | IgLoginRequiredError
                                | IgUserLoggedOutError,
                            | PlainJsonApiHttp
                            | GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation,
                            {
                                addLink: (
                                    self: ScreenHandle,
                                    state: never,
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        [],
                                        "button",
                                        AndroidScreens,
                                    >,
                                    (...args: []) => Effect<(...), (...), (...)>,
                                >;
                                done: (
                                    self: ScreenHandle,
                                    state: State,
                                ) => (
                                    ...args: [],
                                ) => Effect<
                                    (...)
                                    | (...),
                                    (...) | (...) | (...) | (...) | (...) | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "EditProfileLinks",
                            "screen",
                            {
                                links: readonly {
                                    linkId: string;
                                    linkType: string;
                                    title: string;
                                    url: string;
                                }[];
                            },
                            {
                                addLink: (
                                    self: ScreenHandle,
                                    state: never,
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                                done: (
                                    self: ScreenHandle,
                                    state: State,
                                ) => (...args: []) => Effect<(...), (...), (...)>;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,

                            | IgCheckpointError
                            | IgAccountSuspendedError
                            | IgAccountDisabledError
                            | IgLoginRequiredError
                            | IgUserLoggedOutError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | PlainJsonApiHttp
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog,
                    >,
                >;
                openUsername: (
                    self: ScreenHandle,
                    state: EditProfileState,
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "EditProfileUsername",
                            "screen",
                            { username: string },
                            { check?: { available: boolean }; username: string },
                            Record<never, never>,
                            never,
                            PlainJsonApiHttp | MobileNavigation | MobileUserFlows,
                            {
                                changeUsername: (
                                    self: ScreenHandle,
                                    state: State,
                                ) => (
                                    ...args: [username: string],
                                ) => Effect<
                                    (...) & (...),
                                    (...) | (...) | (...) | (...) | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >;
                                typeUsername: (
                                    self: ScreenHandle,
                                    state: State,
                                ) => ScreenDataMember<
                                    ScreenDataShape,
                                    (...args: [username: ...]) => Effect<(...), (...), (...)>,
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "EditProfileUsername",
                            "screen",
                            { check?: { available: boolean }; username: string },
                            {
                                changeUsername: (
                                    self: ScreenHandle,
                                    state: State,
                                ) => (...args: [username: ...]) => Effect<(...), (...), (...)>;
                                typeUsername: (
                                    self: ScreenHandle,
                                    state: State,
                                ) => ScreenDataMember<ScreenDataShape, (...args: ...) => ...>;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,
                        ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,

                            | PlainJsonApiHttp
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack
                            | ScreenCatalog,
                    >,
                >;
            },
            Record<never, never>,
            never,
            "userId",
        >;
        EditProfileAddLink: ScreenDefinition<
            "EditProfileAddLink",
            "screen",
            undefined,
            {},
            Record<never, never>,

                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgLoginRequiredError
                | IgUserLoggedOutError,
            GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation,
            {
                addLink: (
                    self: ScreenHandle,
                    state: State,
                ) => (
                    ...args: [url: string, title: string],
                ) => Effect<
                    CurrentUserResponseUser & { raw: ActionRaw },

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenEnterConcurrentError,
                    | PlainJsonApiHttp
                    | Signature
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        EditProfileBio: ScreenDefinition<
            "EditProfileBio",
            "screen",
            { biography: string },
            { biography: string },
            Record<never, never>,

                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgLoginRequiredError
                | IgUserLoggedOutError,
            | MobileSession
            | MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation,
            {
                changeBio: (
                    self: ScreenHandle,
                    state: State,
                ) => (
                    ...args: [text: string],
                ) => Effect<
                    SetBiographyResponseUser & { raw: ActionRaw },

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenEnterConcurrentError,
                    | PlainJsonApiHttp
                    | Signature
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | PlainNdjsonApiHttp
                    | MobileNavigation
                    | MobileUserFlows
                    | ScreenStack,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        EditProfileLinks: ScreenDefinition<
            "EditProfileLinks",
            "screen",
            {
                links: readonly {
                    linkId: string;
                    linkType: string;
                    title: string;
                    url: string;
                }[];
            },
            {
                links: readonly {
                    linkId: string;
                    linkType: string;
                    title: string;
                    url: string;
                }[];
            },
            Record<never, never>,

                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgLoginRequiredError
                | IgUserLoggedOutError,
            PlainJsonApiHttp
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation,
            {
                addLink: (
                    self: ScreenHandle,
                    state: never,
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "EditProfileAddLink",
                            "screen",
                            undefined,
                            {},
                            Record<never, never>,

                                | IgCheckpointError
                                | IgAccountSuspendedError
                                | IgAccountDisabledError
                                | IgLoginRequiredError
                                | IgUserLoggedOutError,
                            GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation,
                            {
                                addLink: (
                                    self: ScreenHandle,
                                    state: State,
                                ) => (
                                    ...args: [url: string, title: string],
                                ) => Effect<
                                    (...) & (...),
                                    (...) | (...) | (...) | (...) | (...),
                                    (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "EditProfileAddLink",
                            "screen",
                            {},
                            {
                                addLink: (
                                    self: ScreenHandle,
                                    state: State,
                                ) => (...args: [url: ..., title: ...]) => Effect<(...), (...), (...)>;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,

                            | IgCheckpointError
                            | IgAccountSuspendedError
                            | IgAccountDisabledError
                            | IgLoginRequiredError
                            | IgUserLoggedOutError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog,
                    >,
                >;
                done: (
                    self: ScreenHandle,
                    state: State,
                ) => (
                    ...args: [],
                ) => Effect<
                    ScreenFrameHandle
                    | ActionValue<undefined>,

                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | ScreenEnterConcurrentError,
                    | PlainJsonApiHttp
                    | Signature
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | PlainNdjsonApiHttp
                    | MobileNavigation
                    | ScreenStack,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        EditProfileUsername: ScreenDefinition<
            "EditProfileUsername",
            "screen",
            { username: string },
            { check?: { available: boolean }; username: string },
            Record<never, never>,
            never,
            PlainJsonApiHttp | MobileNavigation | MobileUserFlows,
            {
                changeUsername: (
                    self: ScreenHandle,
                    state: State,
                ) => (
                    ...args: [username: string],
                ) => Effect<
                    UpdateProfileUsernameResponse & { raw: ActionRaw },

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenEnterConcurrentError,
                    | PlainJsonApiHttp
                    | Signature
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | PlainNdjsonApiHttp
                    | MobileNavigation
                    | ScreenStack,
                >;
                typeUsername: (
                    self: ScreenHandle,
                    state: State,
                ) => ScreenDataMember<
                    ScreenDataShape,
                    (
                        ...args: [username: string],
                    ) => Effect<
                        ScreenHandle,
                        ScreenDataActionFailure<
                            IgApiError
                            | RequestError
                            | ParseError
                            | TransportError,
                        >,

                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | MobileNavigation
                            | ScreenStack,
                    >,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        Explore: ScreenDefinition<
            "Explore",
            "tab",
            undefined,
            {
                recent: readonly {
                    fullName: string;
                    userId: string;
                    username: string;
                }[];
            },
            ExploreState,
            IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,

                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | MobileUserFlows
                | AndroidThrottlingDetector
                | AndroidQuickPromotionStash,
            {
                openSearchInput: (
                    self: ScreenHandle,
                    state: ExploreState,
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "SearchInput",
                            "screen",
                            | {
                                lastSeenMedia?: readonly {
                                    mediaIds: ...;
                                    surfaceType: ...;
                                    timestamp: ...;
                                }[];
                                query: string;
                                session?: {
                                    clientUuidRankToken?: (...)
                                    | (...);
                                    searchSessionId: string;
                                    serpSessionId?: (...) | (...);
                                    typeaheadSessionId?: (...) | (...);
                                };
                            }
                            | {
                                recent: readonly {
                                    fullName: string;
                                    userId: string;
                                    username: string;
                                }[];
                            },
                            {
                                query: string;
                                rankToken: string;
                                recentAccounts: readonly {
                                    fullName: string;
                                    userId: string;
                                    username: string;
                                }[];
                                results: readonly (
                                    | {
                                        __typename: "unknown";
                                        item: { kind: ...; kindKey?: ...; raw: ... };
                                        key: string;
                                    }
                                    | {
                                        __typename: "XDTTypeaheadSearchKeyword";
                                        key: string;
                                        keyword_lazified: { id: ...; name: ...; user?: ... };
                                    }
                                    | {
                                        __typename: "XDTTypeaheadSearchUser";
                                        key: string;
                                        rank_token?: (...)
                                        | (...);
                                        user: {
                                            full_name?: ...;
                                            id: ...;
                                            is_private?: ...;
                                            is_verified?: ...;
                                            latest_reel_media?: ...;
                                            profile_pic_url?: ...;
                                            search_serp_type?: ...;
                                            username: ...;
                                        };
                                    }
                                    | {
                                        __typename: "XDTTypeaheadSearchHashtag";
                                        hashtag: { id: ...; media_count?: ...; name: ... };
                                        key: string;
                                    }
                                    | {
                                        __typename: "XDTTypeaheadSearchOverfetchedKeywords";
                                        key: string;
                                        keywords: readonly (...)[];
                                        num_keywords_to_show?: (...) | (...);
                                        query_text: string;
                                    }
                                )[];
                                session?: {
                                    clientUuidRankToken: string;
                                    searchSessionId: string;
                                    serpSessionId?: string;
                                    typeaheadSessionId: string;
                                };
                            },
                            SearchInputState,
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | SchemaError
                            | GraphqlRootFieldMissingError,
                            MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation,
                            {
                                change: (
                                    self: ScreenHandle,
                                    state: SearchInputState,
                                ) => ScreenDataMember<
                                    ScreenDataShape,
                                    (...args: [query: ...]) => Effect<(...), (...), (...)>,
                                >;
                                search: (
                                    self: ScreenHandle,
                                    state: SearchInputState,
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        readonly [(...)],
                                        "search_result",
                                        AndroidScreens,
                                    >,
                                    (...args: readonly [(...)]) => Effect<(...), (...), (...)>,
                                >;
                            },
                            {
                                recentAccounts: {
                                    at: "recentAccounts";
                                    item: ScreenItemDefinition<
                                        "RecentSearchAccount",
                                        { fullName: string; userId: string; username: string },
                                        { fullName: string; userId: string; username: string },
                                        RecentSearchAccountState,
                                        never,
                                        never,
                                        { openProfile: (self: ..., state: ...) => ... },
                                        undefined,
                                        never,
                                    >;
                                    key: "userId";
                                    source: ScreenNoItemNodes;
                                };
                                results: {
                                    at: "results";
                                    by: "__typename";
                                    key: "key";
                                    source: ScreenNoItemNodes;
                                    variants: {
                                        unknown: ScreenItemDefinition<
                                            "SearchInputUnknownResult",
                                            { __typename: ...; item: ...; key: ... },
                                            { __typename: ...; item: ...; key: ... },
                                            Record<(...), (...)>,
                                            never,
                                            never,
                                            {},
                                            undefined,
                                            never,
                                        >;
                                        XDTTypeaheadSearchHashtag: ScreenItemDefinition<
                                            "SearchInputHashtagResult",
                                            { __typename: ...; hashtag: ...; key: ... },
                                            { __typename: ...; hashtag: ...; key: ... },
                                            Record<(...), (...)>,
                                            never,
                                            never,
                                            {},
                                            undefined,
                                            never,
                                        >;
                                        XDTTypeaheadSearchKeyword: ScreenItemDefinition<
                                            "SearchInputKeywordResult",
                                            { __typename: ...; key: ...; keyword_lazified: ... },
                                            { __typename: ...; key: ...; keyword_lazified: ... },
                                            Record<(...), (...)>,
                                            never,
                                            never,
                                            {},
                                            undefined,
                                            never,
                                        >;
                                        XDTTypeaheadSearchOverfetchedKeywords: ScreenItemDefinition<
                                            "SearchInputOverfetchedKeywordsResult",
                                            {
                                                __typename: ...;
                                                key: ...;
                                                keywords: ...;
                                                num_keywords_to_show?: ...;
                                                query_text: ...;
                                            },
                                            {
                                                __typename: ...;
                                                key: ...;
                                                keywords: ...;
                                                num_keywords_to_show?: ...;
                                                query_text: ...;
                                            },
                                            Record<(...), (...)>,
                                            never,
                                            never,
                                            {},
                                            undefined,
                                            never,
                                        >;
                                        XDTTypeaheadSearchUser: ScreenItemDefinition<
                                            "SearchInputUserResult",
                                            { __typename: ...; key: ...; rank_token?: ...; user: ... },
                                            { __typename: ...; key: ...; rank_token?: ...; user: ... },
                                            TypeaheadUserRowState,
                                            never,
                                            never,
                                            { openProfile: ... },
                                            undefined,
                                            never,
                                        >;
                                    };
                                };
                            },
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "SearchInput",
                            "screen",
                            {
                                query: string;
                                rankToken: string;
                                recentAccounts: readonly {
                                    fullName: string;
                                    userId: string;
                                    username: string;
                                }[];
                                results: readonly (
                                    | { __typename: ...; item: ...; key: ... }
                                    | { __typename: ...; key: ...; keyword_lazified: ... }
                                    | { __typename: ...; key: ...; rank_token?: ...; user: ... }
                                    | { __typename: ...; hashtag: ...; key: ... }
                                    | {
                                        __typename: ...;
                                        key: ...;
                                        keywords: ...;
                                        num_keywords_to_show?: ...;
                                        query_text: ...;
                                    }
                                )[];
                                session?: {
                                    clientUuidRankToken: string;
                                    searchSessionId: string;
                                    serpSessionId?: (...)
                                    | (...);
                                    typeaheadSessionId: string;
                                };
                            },
                            {
                                change: (
                                    self: ScreenHandle,
                                    state: SearchInputState,
                                ) => ScreenDataMember<ScreenDataShape, (...args: ...) => ...>;
                                search: (
                                    self: ScreenHandle,
                                    state: SearchInputState,
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                            },
                            {
                                recentAccounts: {
                                    at: "recentAccounts";
                                    item: ScreenItemDefinition<
                                        "RecentSearchAccount",
                                        { fullName: ...; userId: ...; username: ... },
                                        { fullName: ...; userId: ...; username: ... },
                                        RecentSearchAccountState,
                                        never,
                                        never,
                                        { openProfile: ... },
                                        undefined,
                                        never,
                                    >;
                                    key: "userId";
                                    source: ScreenNoItemNodes;
                                };
                                results: {
                                    at: "results";
                                    by: "__typename";
                                    key: "key";
                                    source: ScreenNoItemNodes;
                                    variants: {
                                        unknown: ScreenItemDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >;
                                        XDTTypeaheadSearchHashtag: ScreenItemDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >;
                                        XDTTypeaheadSearchKeyword: ScreenItemDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >;
                                        XDTTypeaheadSearchOverfetchedKeywords: ScreenItemDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >;
                                        XDTTypeaheadSearchUser: ScreenItemDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >;
                                    };
                                };
                            },
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | SchemaError
                        | GraphqlRootFieldMissingError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                        | MobileDevice
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog,
                    >,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        FeedTimeline: SwipeableFeedScreen<
            "FeedTimeline",
            "tab",
            { opening?: "cold_start"
            | "tab_open" },
            {
                lastTakenAt?: number;
                nextMaxId?: string;
                position?: number;
                reason: TimelineFeedReason;
                requestId?: string;
            },
            {
                entries: readonly (
                    | {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        slide?: number;
                        type: "post";
                    }
                    | {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "reel";
                    }
                    | {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "ad";
                    }
                    | {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        source: string;
                        type: "explore_story";
                    }
                    | {
                        key: string;
                        position: number;
                        subtitle: string;
                        title: string;
                        type: "caught-up";
                    }
                    | {
                        key: string;
                        position: number;
                        posts: readonly {
                            id?: string;
                            media_type?: number;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "threads";
                    }
                    | {
                        key: string;
                        position: number;
                        reels: readonly {
                            id?: string;
                            is_eof?: boolean
                            | null;
                            media_type?: number;
                            pk?: string;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "suggested-reels";
                    }
                    | {
                        item: { kind: "unknown"; kindKey?: string; raw: Json };
                        key: string;
                        position: number;
                        type: "unknown";
                    }
                )[];
                more_available: boolean;
                next_max_id?: string;
                requestId: string;
            },
            IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,

                | PlainJsonApiHttp
                | MobileSession
                | MobileDevice
                | MobileApplication
                | NavigationWire
                | MobileUserFlows
                | MobileProcessMobileConfig,
            IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,

                | PlainJsonApiHttp
                | MobileSession
                | MobileDevice
                | MobileApplication
                | NavigationWire
                | MobileNavigation
                | MobileUserFlows
                | MobileProcessMobileConfig,
            FeedTimelineActions,
            {
                at: "entries";
                by: "type";
                key: "key";
                source: ScreenItemNodes;
                variants: {
                    ad: ScreenItemDefinition<
                        "FeedTimelineAd",
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            type: "ad";
                        },
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            type: "ad";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    "caught-up": ScreenItemDefinition<
                        "FeedTimelineCaughtUp",
                        {
                            key: string;
                            position: number;
                            subtitle: string;
                            title: string;
                            type: "caught-up";
                        },
                        {
                            key: string;
                            position: number;
                            subtitle: string;
                            title: string;
                            type: "caught-up";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    explore_story: ScreenItemDefinition<
                        "FeedTimelineExploreStory",
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            source: string;
                            type: "explore_story";
                        },
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            source: string;
                            type: "explore_story";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    post: ScreenItemDefinition<
                        "FeedTimelinePost",
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            slide?: number;
                            type: "post";
                        },
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            slide?: number;
                            type: "post";
                        },
                        FeedTimelinePostItemState,
                        never,
                        never,
                        {
                            like: (
                                self: ScreenHandle,
                                state: FeedTimelinePostState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                | { data: ... } & { raw: ... }
                                | MediaLikeRestResponse & { raw: ... },

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | SchemaError
                                    | GraphqlRootFieldMissingError
                                    | ScreenEnterConcurrentError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            likeCarouselChild: (
                                self: ScreenHandle,
                                state: FeedTimelinePostItemState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                | { data: ... } & { raw: ... }
                                | MediaLikeRestResponse & { raw: ... },

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | SchemaError
                                    | GraphqlRootFieldMissingError
                                    | ScreenEnterConcurrentError
                                    | CarouselSlideNotFoundError
                                    | CarouselSlidesNotLoadedError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            open: (
                                self: ScreenHandle,
                                state: FeedTimelinePostState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        "PostOpenedFromLink",
                                        "screen",
                                        {
                                            feedPosition?: (...)
                                            | (...)
                                            | (...);
                                            loggingInfoToken?: (...) | (...);
                                            mediaId: string;
                                        },
                                        {
                                            carousel?: (...)
                                            | (...);
                                            mediaId: string;
                                            trackingToken: string;
                                        },
                                        PostOpenedFromLinkState,
                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError,
                                        PlainJsonApiHttp
                                        | MobileNavigation
                                        | AndroidThrottlingDetector,
                                        {
                                            like: (self: ..., state: ...) => ...;
                                            openComments: (self: ..., state: ...) => ...;
                                            repost: (self: ..., state: ...) => ...;
                                            swipeToSlide: (self: ..., state: ...) => ...;
                                        },
                                        Record<never, never>,
                                        never,
                                        "mediaId",
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: [],
                                ) => Effect<
                                    AssembledHandle<
                                        "PostOpenedFromLink",
                                        "screen",
                                        { carousel?: ...; mediaId: ...; trackingToken: ... },
                                        { like: ...; openComments: ...; repost: ...; swipeToSlide: ... },
                                        Record<(...), (...)>,
                                        ScreenHandle,
                                        "required",
                                        true,
                                        "mediaId",
                                        AndroidScreens,
                                    >,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError
                                        | ScreenEnterConcurrentError
                                        | ScreenEdgeInputError,
                                    | PlainJsonApiHttp
                                    | MobileNavigation
                                    | ScreenStack
                                    | AndroidThrottlingDetector
                                    | ScreenCatalog,
                                >,
                            >;
                            swipeToSlide: (
                                self: ScreenHandle,
                                state: FeedTimelinePostItemState,
                            ) => ScreenDataMember<
                                ScreenDataShape,
                                (
                                    ...args: [index: number],
                                ) => Effect<
                                    ScreenHandle,
                                    ScreenDataActionFailure<(...) | (...)>,
                                    MobileNavigation | ScreenStack,
                                >,
                            >;
                            unlikeCarouselChild: (
                                self: ScreenHandle,
                                state: FeedTimelinePostItemState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                ActionValue<string>,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError
                                    | CarouselSlideNotFoundError
                                    | CarouselSlidesNotLoadedError,
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | ScreenStack,
                            >;
                        },
                        undefined,
                        never,
                    >;
                    reel: ScreenItemDefinition<
                        "FeedTimelineReel",
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            type: "reel";
                        },
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            type: "reel";
                        },
                        FeedTimelinePostState,
                        never,
                        never,
                        {
                            open: (
                                self: ScreenHandle,
                                state: FeedTimelinePostState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ReelsViewerScreenDefinition,
                                    readonly [
                                        {
                                            chainingPosition?: (...)
                                            | (...)
                                            | (...);
                                            chainingSeedMediaId?: (...) | (...);
                                            chainingSessionId?: (...) | (...);
                                            clientPosition?: (...) | (...) | (...);
                                            mediaPctWatched?: (...) | (...) | (...);
                                            rankingSessionId?: (...) | (...);
                                            storyRankingToken?: (...) | (...);
                                        },
                                    ],
                                    "warm_start",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: readonly [
                                        {
                                            chainingPosition?: (...)
                                            | (...)
                                            | (...);
                                            chainingSeedMediaId?: (...) | (...);
                                            chainingSessionId?: (...) | (...);
                                            clientPosition?: (...) | (...) | (...);
                                            mediaPctWatched?: (...) | (...) | (...);
                                            rankingSessionId?: (...) | (...);
                                            storyRankingToken?: (...) | (...);
                                        },
                                    ],
                                ) => Effect<
                                    AssembledHandle<
                                        "ReelsViewer",
                                        "tab",
                                        { entries: ...; next?: ...; opensOnOneReel?: ... },
                                        (...) & (...) & (...),
                                        ScreenFeedItems<(...)>,
                                        ScreenHandle,
                                        "required",
                                        true,
                                        never,
                                        AndroidScreens,
                                    >,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError
                                        | ScreenEnterConcurrentError
                                        | ScreenEdgeInputError,
                                    | PlainJsonApiHttp
                                    | Signature
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | NavigationWire
                                    | MobileNavigation
                                    | MobileUserFlows
                                    | ScreenStack
                                    | AndroidThrottlingDetector
                                    | AndroidClientAddress
                                    | ScreenCatalog,
                                >,
                            >;
                        },
                        undefined,
                        never,
                    >;
                    "suggested-reels": ScreenItemDefinition<
                        "FeedTimelineSuggestedReels",
                        {
                            key: string;
                            position: number;
                            reels: readonly {
                                id?: string;
                                is_eof?: boolean
                                | null;
                                media_type?: number;
                                pk?: string;
                                user?: { pk: string; username: string };
                            }[];
                            title: string;
                            type: "suggested-reels";
                        },
                        {
                            key: string;
                            position: number;
                            reels: readonly {
                                id?: string;
                                is_eof?: boolean
                                | null;
                                media_type?: number;
                                pk?: string;
                                user?: { pk: string; username: string };
                            }[];
                            title: string;
                            type: "suggested-reels";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    threads: ScreenItemDefinition<
                        "FeedTimelineThreads",
                        {
                            key: string;
                            position: number;
                            posts: readonly {
                                id?: string;
                                media_type?: number;
                                user?: { pk: string; username: string };
                            }[];
                            title: string;
                            type: "threads";
                        },
                        {
                            key: string;
                            position: number;
                            posts: readonly {
                                id?: string;
                                media_type?: number;
                                user?: { pk: string; username: string };
                            }[];
                            title: string;
                            type: "threads";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    unknown: ScreenItemDefinition<
                        "FeedTimelineUnknown",
                        {
                            item: { kind: "unknown"; kindKey?: string; raw: Json };
                            key: string;
                            position: number;
                            type: "unknown";
                        },
                        {
                            item: { kind: "unknown"; kindKey?: string; raw: Json };
                            key: string;
                            position: number;
                            type: "unknown";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                };
            },
            never,
            never,
            never,
        >;
        FeedTimelineFollowing: SwipeableFeedScreen<
            "FeedTimelineFollowing",
            "screen",
            {},
            {
                lastTakenAt?: number;
                nextMaxId?: string;
                position?: number;
                reason: TimelineFeedReason;
                requestId?: string;
            },
            {
                entries: readonly (
                    | {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        slide?: number;
                        type: "post";
                    }
                    | {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "reel";
                    }
                    | {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "ad";
                    }
                    | {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        source: string;
                        type: "explore_story";
                    }
                    | {
                        key: string;
                        position: number;
                        subtitle: string;
                        title: string;
                        type: "caught-up";
                    }
                    | {
                        key: string;
                        position: number;
                        posts: readonly {
                            id?: string;
                            media_type?: number;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "threads";
                    }
                    | {
                        key: string;
                        position: number;
                        reels: readonly {
                            id?: string;
                            is_eof?: boolean
                            | null;
                            media_type?: number;
                            pk?: string;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "suggested-reels";
                    }
                    | {
                        item: { kind: "unknown"; kindKey?: string; raw: Json };
                        key: string;
                        position: number;
                        type: "unknown";
                    }
                )[];
                more_available: boolean;
                next_max_id?: string;
                requestId: string;
            },
            IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,

                | PlainJsonApiHttp
                | MobileSession
                | MobileDevice
                | MobileApplication
                | NavigationWire
                | MobileUserFlows
                | MobileProcessMobileConfig,
            IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,

                | PlainJsonApiHttp
                | MobileSession
                | MobileDevice
                | MobileApplication
                | NavigationWire
                | MobileNavigation
                | MobileUserFlows
                | MobileProcessMobileConfig,
            {},
            {
                at: "entries";
                by: "type";
                key: "key";
                source: ScreenItemNodes;
                variants: {
                    ad: ScreenItemDefinition<
                        "FeedTimelineAd",
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            type: "ad";
                        },
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            type: "ad";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    "caught-up": ScreenItemDefinition<
                        "FeedTimelineCaughtUp",
                        {
                            key: string;
                            position: number;
                            subtitle: string;
                            title: string;
                            type: "caught-up";
                        },
                        {
                            key: string;
                            position: number;
                            subtitle: string;
                            title: string;
                            type: "caught-up";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    explore_story: ScreenItemDefinition<
                        "FeedTimelineExploreStory",
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            source: string;
                            type: "explore_story";
                        },
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            source: string;
                            type: "explore_story";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    post: ScreenItemDefinition<
                        "FeedTimelinePost",
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            slide?: number;
                            type: "post";
                        },
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            slide?: number;
                            type: "post";
                        },
                        FeedTimelinePostItemState,
                        never,
                        never,
                        {
                            like: (
                                self: ScreenHandle,
                                state: FeedTimelinePostState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                | { data: ... } & { raw: ... }
                                | MediaLikeRestResponse & { raw: ... },

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | SchemaError
                                    | GraphqlRootFieldMissingError
                                    | ScreenEnterConcurrentError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            likeCarouselChild: (
                                self: ScreenHandle,
                                state: FeedTimelinePostItemState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                | { data: ... } & { raw: ... }
                                | MediaLikeRestResponse & { raw: ... },

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | SchemaError
                                    | GraphqlRootFieldMissingError
                                    | ScreenEnterConcurrentError
                                    | CarouselSlideNotFoundError
                                    | CarouselSlidesNotLoadedError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            open: (
                                self: ScreenHandle,
                                state: FeedTimelinePostState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        "PostOpenedFromLink",
                                        "screen",
                                        {
                                            feedPosition?: (...)
                                            | (...)
                                            | (...);
                                            loggingInfoToken?: (...) | (...);
                                            mediaId: string;
                                        },
                                        {
                                            carousel?: (...)
                                            | (...);
                                            mediaId: string;
                                            trackingToken: string;
                                        },
                                        PostOpenedFromLinkState,
                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError,
                                        PlainJsonApiHttp
                                        | MobileNavigation
                                        | AndroidThrottlingDetector,
                                        {
                                            like: (self: ..., state: ...) => ...;
                                            openComments: (self: ..., state: ...) => ...;
                                            repost: (self: ..., state: ...) => ...;
                                            swipeToSlide: (self: ..., state: ...) => ...;
                                        },
                                        Record<never, never>,
                                        never,
                                        "mediaId",
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: [],
                                ) => Effect<
                                    AssembledHandle<
                                        "PostOpenedFromLink",
                                        "screen",
                                        { carousel?: ...; mediaId: ...; trackingToken: ... },
                                        { like: ...; openComments: ...; repost: ...; swipeToSlide: ... },
                                        Record<(...), (...)>,
                                        ScreenHandle,
                                        "required",
                                        true,
                                        "mediaId",
                                        AndroidScreens,
                                    >,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError
                                        | ScreenEnterConcurrentError
                                        | ScreenEdgeInputError,
                                    | PlainJsonApiHttp
                                    | MobileNavigation
                                    | ScreenStack
                                    | AndroidThrottlingDetector
                                    | ScreenCatalog,
                                >,
                            >;
                            swipeToSlide: (
                                self: ScreenHandle,
                                state: FeedTimelinePostItemState,
                            ) => ScreenDataMember<
                                ScreenDataShape,
                                (
                                    ...args: [index: number],
                                ) => Effect<
                                    ScreenHandle,
                                    ScreenDataActionFailure<(...) | (...)>,
                                    MobileNavigation | ScreenStack,
                                >,
                            >;
                            unlikeCarouselChild: (
                                self: ScreenHandle,
                                state: FeedTimelinePostItemState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                ActionValue<string>,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError
                                    | CarouselSlideNotFoundError
                                    | CarouselSlidesNotLoadedError,
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | ScreenStack,
                            >;
                        },
                        undefined,
                        never,
                    >;
                    reel: ScreenItemDefinition<
                        "FeedTimelineReel",
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            type: "reel";
                        },
                        {
                            key: string;
                            media: {
                                carousel_media?: readonly { pk: string }[];
                                code: string;
                                id: string;
                                injected?: { ad_id?: string } | null;
                                inventory_source?: string;
                                logging_info_token?: string;
                                media_type: number;
                                mezql_token?: string;
                                pk?: string;
                                product_type?: string;
                                taken_at?: number;
                                user?: { pk: string; username: string };
                            };
                            position: number;
                            type: "reel";
                        },
                        FeedTimelinePostState,
                        never,
                        never,
                        {
                            open: (
                                self: ScreenHandle,
                                state: FeedTimelinePostState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ReelsViewerScreenDefinition,
                                    readonly [
                                        {
                                            chainingPosition?: (...)
                                            | (...)
                                            | (...);
                                            chainingSeedMediaId?: (...) | (...);
                                            chainingSessionId?: (...) | (...);
                                            clientPosition?: (...) | (...) | (...);
                                            mediaPctWatched?: (...) | (...) | (...);
                                            rankingSessionId?: (...) | (...);
                                            storyRankingToken?: (...) | (...);
                                        },
                                    ],
                                    "warm_start",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: readonly [
                                        {
                                            chainingPosition?: (...)
                                            | (...)
                                            | (...);
                                            chainingSeedMediaId?: (...) | (...);
                                            chainingSessionId?: (...) | (...);
                                            clientPosition?: (...) | (...) | (...);
                                            mediaPctWatched?: (...) | (...) | (...);
                                            rankingSessionId?: (...) | (...);
                                            storyRankingToken?: (...) | (...);
                                        },
                                    ],
                                ) => Effect<
                                    AssembledHandle<
                                        "ReelsViewer",
                                        "tab",
                                        { entries: ...; next?: ...; opensOnOneReel?: ... },
                                        (...) & (...) & (...),
                                        ScreenFeedItems<(...)>,
                                        ScreenHandle,
                                        "required",
                                        true,
                                        never,
                                        AndroidScreens,
                                    >,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError
                                        | ScreenEnterConcurrentError
                                        | ScreenEdgeInputError,
                                    | PlainJsonApiHttp
                                    | Signature
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | NavigationWire
                                    | MobileNavigation
                                    | MobileUserFlows
                                    | ScreenStack
                                    | AndroidThrottlingDetector
                                    | AndroidClientAddress
                                    | ScreenCatalog,
                                >,
                            >;
                        },
                        undefined,
                        never,
                    >;
                    "suggested-reels": ScreenItemDefinition<
                        "FeedTimelineSuggestedReels",
                        {
                            key: string;
                            position: number;
                            reels: readonly {
                                id?: string;
                                is_eof?: boolean
                                | null;
                                media_type?: number;
                                pk?: string;
                                user?: { pk: string; username: string };
                            }[];
                            title: string;
                            type: "suggested-reels";
                        },
                        {
                            key: string;
                            position: number;
                            reels: readonly {
                                id?: string;
                                is_eof?: boolean
                                | null;
                                media_type?: number;
                                pk?: string;
                                user?: { pk: string; username: string };
                            }[];
                            title: string;
                            type: "suggested-reels";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    threads: ScreenItemDefinition<
                        "FeedTimelineThreads",
                        {
                            key: string;
                            position: number;
                            posts: readonly {
                                id?: string;
                                media_type?: number;
                                user?: { pk: string; username: string };
                            }[];
                            title: string;
                            type: "threads";
                        },
                        {
                            key: string;
                            position: number;
                            posts: readonly {
                                id?: string;
                                media_type?: number;
                                user?: { pk: string; username: string };
                            }[];
                            title: string;
                            type: "threads";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    unknown: ScreenItemDefinition<
                        "FeedTimelineUnknown",
                        {
                            item: { kind: "unknown"; kindKey?: string; raw: Json };
                            key: string;
                            position: number;
                            type: "unknown";
                        },
                        {
                            item: { kind: "unknown"; kindKey?: string; raw: Json };
                            key: string;
                            position: number;
                            type: "unknown";
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                };
            },
            never,
            never,
            never,
        >;
        LoginHomepage: ScreenDefinition<
            "LoginHomepage",
            "screen",
            undefined,
            {
                aac: string;
                attestationChallengeNonce?: string;
                loginEntryPoint: "login-home"
                | "landing-screen";
                oauthQpl: { instanceId: number; markerId: number };
                passwordTextInputId: string;
                qpl: { instanceId: number; markerId: number };
                recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                usernameTextInputId: string;
                waterfallId: string;
            },
            {
                aac: string;
                attestationChallengeNonce?: string;
                loginEntryPoint: "login-home"
                | "landing-screen";
                oauthQpl: { instanceId: number; markerId: number };
                passwordTextInputId: string;
                qpl: { instanceId: number; markerId: number };
                recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                usernameTextInputId: string;
                waterfallId: string;
            },
            never,
            MobileNavigation
            | LoginHomepageLaunch,
            {
                createNewAccount: (
                    self: ScreenHandle,
                    state: {
                        aac: string;
                        attestationChallengeNonce?: string;
                        loginEntryPoint: "login-home" | "landing-screen";
                        oauthQpl: { instanceId: number; markerId: number };
                        passwordTextInputId: string;
                        qpl: { instanceId: number; markerId: number };
                        recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                        usernameTextInputId: string;
                        waterfallId: string;
                    },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        RegistrationPhoneNumberDefinition,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "RegistrationPhoneNumber",
                            "screen",
                            {},
                            {
                                submitPhoneNumber: (
                                    self: ScreenHandle,
                                    state: State,
                                ) => (...args: [phoneNumber: ...]) => Effect<(...), (...), (...)>;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,

                            | IgNotFoundError
                            | IgRateLimitError
                            | IgSpamError
                            | IgCheckpointError
                            | IgAccountSuspendedError
                            | IgAccountDisabledError
                            | IgCookieConsentRequiredError
                            | IgLoginRequiredError
                            | IgUserLoggedOutError
                            | IgPrivateUserError
                            | IgInactiveUserError
                            | IgSentryBlockError
                            | IgIpBlockError
                            | IgLoginTwoFactorRequiredError
                            | RequestError
                            | ParseError
                            | TransportError
                            | IgBloks429Error
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | PlainJsonApiHttp
                        | MobileSession
                        | MobileDevice
                        | GraphqlJsonHttp
                        | MobileApplication
                        | BloksHttp
                        | MobileDisplayScaleWire
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog,
                    >,
                >;
                logIn: (
                    self: ScreenHandle,
                    state: {
                        aac: string;
                        attestationChallengeNonce?: string;
                        loginEntryPoint: "login-home" | "landing-screen";
                        oauthQpl: { instanceId: number; markerId: number };
                        passwordTextInputId: string;
                        qpl: { instanceId: number; markerId: number };
                        recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                        usernameTextInputId: string;
                        waterfallId: string;
                    },
                ) => (
                    ...args: [credentials: LoginInput],
                ) => Effect<
                    LoginHomepageAnswer,
                    | IgNotFoundError
                    | IgRateLimitError
                    | IgSpamError
                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgCookieConsentRequiredError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | IgPrivateUserError
                    | IgInactiveUserError
                    | IgSentryBlockError
                    | IgIpBlockError
                    | IgLoginTwoFactorRequiredError
                    | RequestError
                    | ParseError
                    | TransportError
                    | PasswordEncryptionKeysUnavailableError
                    | LoginBloksParseError
                    | LoginBloksRejectedError
                    | LoginTwoFactorEntrypointParseError
                    | LoginAccountRecoveryRequiredError
                    | LoginAccountRecoveryContinueError
                    | IgBloks429Error
                    | IgLoginBadPasswordError
                    | AccountRecoveryBloksIssuedParamsMissingError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError
                    | AppAlreadyStartedError,
                    | PlainJsonApiHttp
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | SessionHeaderParser
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | TwoFactorTickets
                    | AccountRecoveryTickets,
                >;
                openApproveFromAnotherDevice: (
                    self: ScreenHandle,
                    state: {
                        aac: string;
                        attestationChallengeNonce?: string;
                        loginEntryPoint: "login-home" | "landing-screen";
                        oauthQpl: { instanceId: number; markerId: number };
                        passwordTextInputId: string;
                        qpl: { instanceId: number; markerId: number };
                        recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                        usernameTextInputId: string;
                        waterfallId: string;
                    },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "LoginTwoFactorEntrypoint",
                            "screen",
                            undefined,
                            { ticket: string & Brand<"TwoFactorApprovalTicket"> },
                            LoginTwoFactorApproveFromAnotherDeviceState,
                            never,
                            MobileNavigation | TwoFactorTickets,
                            {
                                checkApproval: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorApproveFromAnotherDeviceState,
                                ) => (
                                    ...args: [],
                                ) => Effect<
                                    (...)
                                    | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >;
                                tryAnotherWay: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorApproveFromAnotherDeviceState,
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        [],
                                        "button",
                                        AndroidScreens,
                                    >,
                                    (...args: []) => Effect<(...), (...), (...)>,
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "LoginTwoFactorEntrypoint",
                            "screen",
                            { ticket: string & Brand<"TwoFactorApprovalTicket"> },
                            {
                                checkApproval: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorApproveFromAnotherDeviceState,
                                ) => (...args: []) => Effect<(...), (...), (...)>;
                                tryAnotherWay: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorApproveFromAnotherDeviceState,
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,
                        ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                        MobileNavigation | ScreenStack | ScreenCatalog | TwoFactorTickets,
                    >,
                >;
                openEmailCode: (
                    self: ScreenHandle,
                    state: {
                        aac: string;
                        attestationChallengeNonce?: string;
                        loginEntryPoint: "login-home" | "landing-screen";
                        oauthQpl: { instanceId: number; markerId: number };
                        passwordTextInputId: string;
                        qpl: { instanceId: number; markerId: number };
                        recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                        usernameTextInputId: string;
                        waterfallId: string;
                    },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "AccountRecoveryEmailCode",
                            "screen",
                            undefined,
                            {
                                maskedContact?: string;
                                ticket: string & Brand<"LastResortCodeEntryTicket">;
                            },
                            {
                                maskedContact?: string;
                                ticket: string & Brand<"LastResortCodeEntryTicket">;
                            },
                            BloksHttpError
                            | AccountRecoveryBloksIssuedParamsMissingError,

                                | MobileSession
                                | MobileDevice
                                | MobileApplication
                                | BloksHttp
                                | MobileDisplayScaleWire
                                | MobileNavigation
                                | AccountRecoveryTickets,
                            {
                                requestNewCode: (
                                    self: ScreenHandle,
                                    state: { maskedContact?: string; ticket: string & Brand<(...)> },
                                ) => (
                                    ...args: [],
                                ) => Effect<
                                    (...)
                                    | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >;
                                submitCode: (
                                    self: ScreenHandle,
                                    state: { maskedContact?: string; ticket: string & Brand<(...)> },
                                ) => (
                                    ...args: [code: string],
                                ) => Effect<
                                    AccountRecoveryFirstScreen,
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "AccountRecoveryEmailCode",
                            "screen",
                            {
                                maskedContact?: string;
                                ticket: string & Brand<"LastResortCodeEntryTicket">;
                            },
                            {
                                requestNewCode: (
                                    self: ScreenHandle,
                                    state: { maskedContact?: (...) | (...); ticket: (...) & (...) },
                                ) => (...args: []) => Effect<(...), (...), (...)>;
                                submitCode: (
                                    self: ScreenHandle,
                                    state: { maskedContact?: (...) | (...); ticket: (...) & (...) },
                                ) => (...args: [code: ...]) => Effect<(...), (...), (...)>;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,

                            | BloksHttpError
                            | AccountRecoveryBloksIssuedParamsMissingError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | MobileSession
                        | MobileDevice
                        | MobileApplication
                        | BloksHttp
                        | MobileDisplayScaleWire
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog
                        | AccountRecoveryTickets,
                    >,
                >;
                openMethodPicker: (
                    self: ScreenHandle,
                    state: {
                        aac: string;
                        attestationChallengeNonce?: string;
                        loginEntryPoint: "login-home" | "landing-screen";
                        oauthQpl: { instanceId: number; markerId: number };
                        passwordTextInputId: string;
                        qpl: { instanceId: number; markerId: number };
                        recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                        usernameTextInputId: string;
                        waterfallId: string;
                    },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "LoginTwoFactorMethodPicker",
                            "screen",
                            { ticket?: string & Brand<"TwoFactorApprovalTicket"> },
                            {
                                offeredMethods: readonly (
                                    | "approve_from_another_device"
                                    | "whatsapp"
                                    | "totp"
                                    | "sms"
                                    | "backup_codes"
                                )[];
                                preselected?: | "approve_from_another_device"
                                | "whatsapp"
                                | "totp"
                                | "sms"
                                | "backup_codes";
                                ticket: string & Brand<"TwoFactorPickerTicket">;
                            },
                            LoginTwoFactorChooseMethodState,
                            BloksHttpError,
                            | MobileDevice
                            | MobileApplication
                            | BloksHttp
                            | MobileDisplayScaleWire
                            | MobileNavigation
                            | TwoFactorTickets,
                            {
                                chooseAuthenticationApp: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorChooseMethodState,
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        [],
                                        "button",
                                        AndroidScreens,
                                    >,
                                    (...args: []) => Effect<(...), (...), (...)>,
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "LoginTwoFactorMethodPicker",
                            "screen",
                            {
                                offeredMethods: readonly (
                                    | "approve_from_another_device"
                                    | "whatsapp"
                                    | "totp"
                                    | "sms"
                                    | "backup_codes"
                                )[];
                                preselected?: | "approve_from_another_device"
                                | "whatsapp"
                                | "totp"
                                | "sms"
                                | "backup_codes";
                                ticket: string & Brand<"TwoFactorPickerTicket">;
                            },
                            {
                                chooseAuthenticationApp: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorChooseMethodState,
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,

                            | BloksHttpError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | MobileDevice
                        | MobileApplication
                        | BloksHttp
                        | MobileDisplayScaleWire
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog
                        | TwoFactorTickets,
                    >,
                >;
                recoverPassword: (
                    self: ScreenHandle,
                    state: {
                        aac: string;
                        attestationChallengeNonce?: string;
                        loginEntryPoint: "login-home" | "landing-screen";
                        oauthQpl: { instanceId: number; markerId: number };
                        passwordTextInputId: string;
                        qpl: { instanceId: number; markerId: number };
                        recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                        usernameTextInputId: string;
                        waterfallId: string;
                    },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "AccountRecoverySearch",
                            "screen",
                            { aac: string; ticket?: string & Brand<"RecoveryActionTicket"> },
                            {
                                aac: string;
                                searchScreenType: string;
                                searchTicket: string & Brand<"SearchTicket">;
                                textInputId: string;
                                waterfallId: string;
                            },
                            {
                                aac: string;
                                searchScreenType: string;
                                searchTicket: string & Brand<"SearchTicket">;
                                textInputId: string;
                                waterfallId: string;
                            },
                            BloksHttpError
                            | AccountRecoveryBloksIssuedParamsMissingError,

                                | MobileDevice
                                | MobileApplication
                                | BloksHttp
                                | MobileDisplayScaleWire
                                | MobileNavigation
                                | AccountRecoveryTickets,
                            {
                                findAccount: (
                                    self: ScreenHandle,
                                    state: {
                                        aac: string;
                                        searchScreenType: string;
                                        searchTicket: string & Brand<(...)>;
                                        textInputId: string;
                                        waterfallId: string;
                                    },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        readonly [(...)],
                                        "button",
                                        AndroidScreens,
                                    >,
                                    (...args: readonly [(...)]) => Effect<(...), (...), (...)>,
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "AccountRecoverySearch",
                            "screen",
                            {
                                aac: string;
                                searchScreenType: string;
                                searchTicket: string & Brand<"SearchTicket">;
                                textInputId: string;
                                waterfallId: string;
                            },
                            {
                                findAccount: (
                                    self: ScreenHandle,
                                    state: {
                                        aac: string;
                                        searchScreenType: string;
                                        searchTicket: (...) & (...);
                                        textInputId: string;
                                        waterfallId: string;
                                    },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,

                            | BloksHttpError
                            | AccountRecoveryBloksIssuedParamsMissingError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | MobileDevice
                        | MobileApplication
                        | BloksHttp
                        | MobileDisplayScaleWire
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog
                        | AccountRecoveryTickets,
                    >,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        LoginTwoFactorEnterTotpCode: ScreenDefinition<
            "LoginTwoFactorEnterTotpCode",
            "screen",
            { ticket: string & Brand<"TwoFactorPickerTicket"> },
            { ticket: string & Brand<"TwoFactorCodeTicket"> },
            LoginTwoFactorAuthenticationAppCodeState,
            BloksHttpError | TwoFactorBloksIssuedIdMissingError,

                | MobileDevice
                | MobileApplication
                | BloksHttp
                | MobileDisplayScaleWire
                | MobileNavigation
                | TwoFactorTickets,
            {
                checkApproval: (
                    self: ScreenHandle,
                    state: LoginTwoFactorAuthenticationAppCodeState,
                ) => (
                    ...args: [],
                ) => Effect<
                    | AppFirstScreen & { status?: undefined }
                    | { id?: undefined; status: "still-waiting" } & { raw: ActionRaw },

                        | IgNotFoundError
                        | IgRateLimitError
                        | IgSpamError
                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgCookieConsentRequiredError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | IgPrivateUserError
                        | IgInactiveUserError
                        | IgSentryBlockError
                        | IgIpBlockError
                        | IgLoginTwoFactorRequiredError
                        | RequestError
                        | ParseError
                        | TransportError
                        | LoginBloksParseError
                        | IgBloks429Error
                        | TwoFactorBloksIssuedIdMissingError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | LoginTwoFactorApprovalDeclinedError
                        | AppAlreadyStartedError,
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | SessionHeaderParser
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | TwoFactorTickets,
                >;
                submitCode: (
                    self: ScreenHandle,
                    state: LoginTwoFactorAuthenticationAppCodeState,
                ) => (
                    ...args: [code: string],
                ) => Effect<
                    AppFirstScreen,
                    | IgNotFoundError
                    | IgRateLimitError
                    | IgSpamError
                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgCookieConsentRequiredError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | IgPrivateUserError
                    | IgInactiveUserError
                    | IgSentryBlockError
                    | IgIpBlockError
                    | IgLoginTwoFactorRequiredError
                    | RequestError
                    | ParseError
                    | TransportError
                    | LoginBloksParseError
                    | IgBloks429Error
                    | TwoFactorBloksIssuedIdMissingError
                    | TwoFactorBloksLoginResponseNotFoundError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | AppAlreadyStartedError
                    | LoginTwoFactorAuthenticationAppCodeRejectedError,
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | SessionHeaderParser
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | TwoFactorTickets,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        LoginTwoFactorEntrypoint: ScreenDefinition<
            "LoginTwoFactorEntrypoint",
            "screen",
            undefined,
            { ticket: string & Brand<"TwoFactorApprovalTicket"> },
            LoginTwoFactorApproveFromAnotherDeviceState,
            never,
            MobileNavigation | TwoFactorTickets,
            {
                checkApproval: (
                    self: ScreenHandle,
                    state: LoginTwoFactorApproveFromAnotherDeviceState,
                ) => (
                    ...args: [],
                ) => Effect<
                    | AppFirstScreen & { status?: undefined }
                    | { id?: undefined; status: "still-waiting" } & { raw: ActionRaw },

                        | IgNotFoundError
                        | IgRateLimitError
                        | IgSpamError
                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgCookieConsentRequiredError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | IgPrivateUserError
                        | IgInactiveUserError
                        | IgSentryBlockError
                        | IgIpBlockError
                        | IgLoginTwoFactorRequiredError
                        | RequestError
                        | ParseError
                        | TransportError
                        | LoginBloksParseError
                        | IgBloks429Error
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | LoginTwoFactorApprovalDeclinedError
                        | AppAlreadyStartedError,
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | SessionHeaderParser
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | TwoFactorTickets,
                >;
                tryAnotherWay: (
                    self: ScreenHandle,
                    state: LoginTwoFactorApproveFromAnotherDeviceState,
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "LoginTwoFactorMethodPicker",
                            "screen",
                            { ticket?: string & Brand<"TwoFactorApprovalTicket"> },
                            {
                                offeredMethods: readonly (
                                    | "approve_from_another_device"
                                    | "whatsapp"
                                    | "totp"
                                    | "sms"
                                    | "backup_codes"
                                )[];
                                preselected?: | "approve_from_another_device"
                                | "whatsapp"
                                | "totp"
                                | "sms"
                                | "backup_codes";
                                ticket: string & Brand<"TwoFactorPickerTicket">;
                            },
                            LoginTwoFactorChooseMethodState,
                            BloksHttpError,
                            | MobileDevice
                            | MobileApplication
                            | BloksHttp
                            | MobileDisplayScaleWire
                            | MobileNavigation
                            | TwoFactorTickets,
                            {
                                chooseAuthenticationApp: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorChooseMethodState,
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        [],
                                        "button",
                                        AndroidScreens,
                                    >,
                                    (...args: []) => Effect<(...), (...), (...)>,
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "LoginTwoFactorMethodPicker",
                            "screen",
                            {
                                offeredMethods: readonly (
                                    | "approve_from_another_device"
                                    | "whatsapp"
                                    | "totp"
                                    | "sms"
                                    | "backup_codes"
                                )[];
                                preselected?: | "approve_from_another_device"
                                | "whatsapp"
                                | "totp"
                                | "sms"
                                | "backup_codes";
                                ticket: string & Brand<"TwoFactorPickerTicket">;
                            },
                            {
                                chooseAuthenticationApp: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorChooseMethodState,
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,

                            | BloksHttpError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | MobileDevice
                        | MobileApplication
                        | BloksHttp
                        | MobileDisplayScaleWire
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog
                        | TwoFactorTickets,
                    >,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        LoginTwoFactorMethodPicker: ScreenDefinition<
            "LoginTwoFactorMethodPicker",
            "screen",
            { ticket?: string & Brand<"TwoFactorApprovalTicket"> },
            {
                offeredMethods: readonly (
                    | "approve_from_another_device"
                    | "whatsapp"
                    | "totp"
                    | "sms"
                    | "backup_codes"
                )[];
                preselected?: | "approve_from_another_device"
                | "whatsapp"
                | "totp"
                | "sms"
                | "backup_codes";
                ticket: string & Brand<"TwoFactorPickerTicket">;
            },
            LoginTwoFactorChooseMethodState,
            BloksHttpError,
            | MobileDevice
            | MobileApplication
            | BloksHttp
            | MobileDisplayScaleWire
            | MobileNavigation
            | TwoFactorTickets,
            {
                chooseAuthenticationApp: (
                    self: ScreenHandle,
                    state: LoginTwoFactorChooseMethodState,
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "LoginTwoFactorEnterTotpCode",
                            "screen",
                            { ticket: string & Brand<"TwoFactorPickerTicket"> },
                            { ticket: string & Brand<"TwoFactorCodeTicket"> },
                            LoginTwoFactorAuthenticationAppCodeState,
                            BloksHttpError | TwoFactorBloksIssuedIdMissingError,

                                | MobileDevice
                                | MobileApplication
                                | BloksHttp
                                | MobileDisplayScaleWire
                                | MobileNavigation
                                | TwoFactorTickets,
                            {
                                checkApproval: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorAuthenticationAppCodeState,
                                ) => (
                                    ...args: [],
                                ) => Effect<
                                    (...)
                                    | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >;
                                submitCode: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorAuthenticationAppCodeState,
                                ) => (
                                    ...args: [code: string],
                                ) => Effect<
                                    AppFirstScreen,
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        [],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "LoginTwoFactorEnterTotpCode",
                            "screen",
                            { ticket: string & Brand<"TwoFactorCodeTicket"> },
                            {
                                checkApproval: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorAuthenticationAppCodeState,
                                ) => (...args: []) => Effect<(...), (...), (...)>;
                                submitCode: (
                                    self: ScreenHandle,
                                    state: LoginTwoFactorAuthenticationAppCodeState,
                                ) => (...args: [code: ...]) => Effect<(...), (...), (...)>;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,

                            | BloksHttpError
                            | TwoFactorBloksIssuedIdMissingError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | MobileDevice
                        | MobileApplication
                        | BloksHttp
                        | MobileDisplayScaleWire
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog
                        | TwoFactorTickets,
                    >,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        MediaComments: ScreenDefinition<
            "MediaComments",
            "screen",
            | {
                carousel?: { children: readonly string[]; slide: number };
                chainingSeedMediaId?: string;
                commentSessionId?: string;
                feedPosition?: string | number;
                mediaId: string;
                rankingSessionId?: string;
                surface: "feed";
            }
            | {
                chainingPosition?: string
                | number;
                chainingSeedMediaId?: string;
                chainingSessionId?: string;
                clientPosition?: string | number;
                commentSessionId?: string;
                mediaId: string;
                rankingSessionId?: string;
                storyRankingToken?: string;
                surface: "reels";
            },
            | {
                commentSessionId: string;
                createdMediaNoteIds: readonly string[];
                mediaId: string;
                slide?: { index: number; mediaId: string };
                surface: "feed";
            }
            | {
                commentSessionId: string;
                createdMediaNoteIds: readonly string[];
                mediaId: string;
                surface: "reels";
            },
            | {
                carousel?: { children: readonly string[]; slide: number };
                chainingSeedMediaId?: string;
                commentSessionId?: string;
                feedPosition?: string | number;
                mediaId: string;
                rankingSessionId?: string;
                surface: "feed";
            } & {
                commentSessionId: string;
                createdMediaNoteIds: readonly string[];
                mediaId: string;
                slide?: { index: number; mediaId: string };
                surface: "feed";
            }
            | never
            | never
            | {
                chainingPosition?: string
                | number;
                chainingSeedMediaId?: string;
                chainingSessionId?: string;
                clientPosition?: string | number;
                commentSessionId?: string;
                mediaId: string;
                rankingSessionId?: string;
                storyRankingToken?: string;
                surface: "reels";
            } & {
                commentSessionId: string;
                createdMediaNoteIds: readonly string[];
                mediaId: string;
                surface: "reels";
            },
            IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,

                | PlainJsonApiHttp
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | JsonResponseHttp
                | MobileUserFlows
                | MediaCommentsReads
                | AndroidQuickPromotionStash,
            {
                comment: (
                    self: ScreenHandle,
                    state:
                        | {
                            carousel?: { children: readonly string[]; slide: number };
                            chainingSeedMediaId?: string;
                            commentSessionId?: string;
                            feedPosition?: string | number;
                            mediaId: string;
                            rankingSessionId?: string;
                            surface: "feed";
                        } & {
                            commentSessionId: string;
                            createdMediaNoteIds: readonly string[];
                            mediaId: string;
                            slide?: { index: number; mediaId: string };
                            surface: "feed";
                        }
                        | never
                        | never
                        | {
                            chainingPosition?: string
                            | number;
                            chainingSeedMediaId?: string;
                            chainingSessionId?: string;
                            clientPosition?: string | number;
                            commentSessionId?: string;
                            mediaId: string;
                            rankingSessionId?: string;
                            storyRankingToken?: string;
                            surface: "reels";
                        } & {
                            commentSessionId: string;
                            createdMediaNoteIds: readonly string[];
                            mediaId: string;
                            surface: "reels";
                        },
                ) => (
                    ...args: [text: string, options?: CommentOptions],
                ) => Effect<
                    MediaCommentResponse & { raw: ActionRaw },

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenEnterConcurrentError,
                    | PlainJsonApiHttp
                    | Signature
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | NavigationWire
                    | MobileNavigation
                    | MobileUserFlows
                    | ScreenStack,
                >;
            },
            Record<never, never>,
            never,
            "mediaId",
        >;
        MyProfile: MyProfileDefinition;
        PostingCamera: PostingCameraScreenDefinition;
        PostingCameraGallery: PostingCameraGalleryScreenDefinition;
        PostingGalleryPicker: ScreenDefinition<
            "PostingGalleryPicker",
            "screen",
            { origin: "feed"
            | "reels-tab" },
            { creationSessionId: string; mode: "post"; origin: "feed" | "reels-tab" },
            PostingGalleryPickerState,
            never,
            MobileSession | MobileNavigation | MobileUserFlows | AndroidPostingMedia,
            {
                pickMedia: (
                    self: ScreenHandle,
                    state: PostingGalleryPickerState,
                ) => (
                    ...args: [
                        files: readonly [
                            PostingPhotoInput
                            | PostingVideoInput,
                            PostingPhotoInput | PostingVideoInput,
                            PostingPhotoInput | PostingVideoInput,
                        ],
                    ],
                ) => Effect<
                    AssembledHandle<
                        "PostingPostEdit",
                        "screen",
                        {
                            creationSessionId: string;
                            media: | readonly [
                                {
                                    byteLength: number;
                                    height: number;
                                    id: string;
                                    kind: "photo";
                                    mimeType: (...)
                                    | (...)
                                    | (...);
                                    width: number;
                                },
                            ]
                            | readonly [
                                | {
                                    byteLength: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                }
                                | {
                                    byteLength: ...;
                                    durationMs: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                },
                                | {
                                    byteLength: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                }
                                | {
                                    byteLength: ...;
                                    durationMs: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                },
                                | {
                                    byteLength: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                }
                                | {
                                    byteLength: ...;
                                    durationMs: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                },
                            ];
                            origin: "feed"
                            | "reels-tab";
                        },
                        {
                            next: (
                                self: ScreenHandle,
                                state: {
                                    creationSessionId: string;
                                    media: readonly [(...)] | readonly [(...), (...), (...)];
                                    origin: "feed" | "reels-tab";
                                },
                            ) => (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                >,

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError
                        | PostingMediaFormatError,
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | AndroidPostingMedia,
                >;
                pickPhoto: (
                    self: ScreenHandle,
                    state: PostingGalleryPickerState,
                ) => (
                    ...args: [photo: PostingPhotoInput],
                ) => Effect<
                    AssembledHandle<
                        "PostingPostEdit",
                        "screen",
                        {
                            creationSessionId: string;
                            media: | readonly [
                                {
                                    byteLength: number;
                                    height: number;
                                    id: string;
                                    kind: "photo";
                                    mimeType: (...)
                                    | (...)
                                    | (...);
                                    width: number;
                                },
                            ]
                            | readonly [
                                | {
                                    byteLength: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                }
                                | {
                                    byteLength: ...;
                                    durationMs: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                },
                                | {
                                    byteLength: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                }
                                | {
                                    byteLength: ...;
                                    durationMs: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                },
                                | {
                                    byteLength: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                }
                                | {
                                    byteLength: ...;
                                    durationMs: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                },
                            ];
                            origin: "feed"
                            | "reels-tab";
                        },
                        {
                            next: (
                                self: ScreenHandle,
                                state: {
                                    creationSessionId: string;
                                    media: readonly [(...)] | readonly [(...), (...), (...)];
                                    origin: "feed" | "reels-tab";
                                },
                            ) => (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                >,

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError
                        | PostingMediaFormatError,
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | AndroidPostingMedia,
                >;
                pickPhotos: (
                    self: ScreenHandle,
                    state: PostingGalleryPickerState,
                ) => (
                    ...args: [photos: readonly [PostingPhotoInput, PostingPhotoInput]],
                ) => Effect<
                    AssembledHandle<
                        "PostingPostEdit",
                        "screen",
                        {
                            creationSessionId: string;
                            media: | readonly [
                                {
                                    byteLength: number;
                                    height: number;
                                    id: string;
                                    kind: "photo";
                                    mimeType: (...)
                                    | (...)
                                    | (...);
                                    width: number;
                                },
                            ]
                            | readonly [
                                | {
                                    byteLength: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                }
                                | {
                                    byteLength: ...;
                                    durationMs: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                },
                                | {
                                    byteLength: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                }
                                | {
                                    byteLength: ...;
                                    durationMs: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                },
                                | {
                                    byteLength: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                }
                                | {
                                    byteLength: ...;
                                    durationMs: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                },
                            ];
                            origin: "feed"
                            | "reels-tab";
                        },
                        {
                            next: (
                                self: ScreenHandle,
                                state: {
                                    creationSessionId: string;
                                    media: readonly [(...)] | readonly [(...), (...), (...)];
                                    origin: "feed" | "reels-tab";
                                },
                            ) => (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                >,

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError
                        | PostingMediaFormatError,
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | AndroidPostingMedia,
                >;
                pickVideo: (
                    self: ScreenHandle,
                    state: PostingGalleryPickerState,
                ) => (
                    ...args: [video: PostingVideoInput],
                ) => Effect<
                    AssembledHandle<
                        "PostingReelEditor",
                        "screen",
                        {
                            assetId: string;
                            creationSessionId: string;
                            draftId: string;
                            entry: "reel-mode"
                            | "post-mode";
                            media: {
                                byteLength: number;
                                durationMs: number;
                                height: number;
                                id: string;
                                kind: "video";
                                mimeType: "video/mp4";
                                width: number;
                            };
                            origin: "feed"
                            | "reels-tab";
                        },
                        {
                            next: EditorNext;
                            openMusicBrowser: (
                                self: ScreenHandle,
                                state: {
                                    assetId: string;
                                    creationSessionId: string;
                                    draftId: string;
                                    entry: "reel-mode" | "post-mode";
                                    media: {
                                        byteLength: number;
                                        durationMs: number;
                                        height: number;
                                        id: string;
                                        kind: "video";
                                        mimeType: "video/mp4";
                                        width: number;
                                    };
                                    origin: "feed"
                                    | "reels-tab";
                                },
                            ) => (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                >,
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError
                        | PostingMediaFormatError,
                    | PlainJsonApiHttp
                    | Signature
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | MobileUserFlows
                    | ScreenStack
                    | AndroidQuickPromotionStash
                    | ScreenCatalog
                    | AndroidPostingMedia,
                >;
                switchMode: (
                    self: ScreenHandle,
                    state: PostingGalleryPickerState,
                ) => (
                    ...args: [mode: "reel" | "story"],
                ) => Effect<
                    AssembledHandle<
                        "PostingCamera",
                        "screen",
                        {
                            cameraSessionId: string;
                            entry: | "reels-tab"
                            | "gallery-picker"
                            | "feed-button"
                            | "camera-switch";
                            mode: "reel"
                            | "story";
                            origin: "feed" | "reels-tab";
                        },
                        {
                            openGallery: (
                                self: ScreenHandle,
                                state: PostingCameraState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                PostingCameraGalleryHandle,
                                (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                            switchMode: (
                                self: ScreenHandle,
                                state: PostingCameraState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    PostingCameraScreenDefinition,
                                    readonly [(...)],
                                    "button",
                                    AndroidScreens,
                                >,
                                (mode: "story") => Effect<(...), (...), (...)>,
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | PlainJsonApiHttp
                    | Signature
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | MobileUserFlows
                    | ScreenStack
                    | ScreenCatalog
                    | AndroidPostingMedia,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        PostingMusicBrowser: PostingMusicBrowserScreenDefinition;
        PostingMusicSearchResults: PostingMusicSearchResultsScreenDefinition;
        PostingNewPost: PostingNewPostScreenDefinition;
        PostingNewReel: PostingNewReelScreenDefinition;
        PostingPostEdit: ScreenDefinition<
            "PostingPostEdit",
            "screen",
            {
                creationSessionId: string;
                media: | readonly [
                    {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    },
                ]
                | readonly [
                    | {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    }
                    | {
                        byteLength: number;
                        durationMs: number;
                        height: number;
                        id: string;
                        kind: "video";
                        mimeType: "video/mp4";
                        width: number;
                    },
                    | {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    }
                    | {
                        byteLength: number;
                        durationMs: number;
                        height: number;
                        id: string;
                        kind: "video";
                        mimeType: "video/mp4";
                        width: number;
                    },
                    | {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    }
                    | {
                        byteLength: number;
                        durationMs: number;
                        height: number;
                        id: string;
                        kind: "video";
                        mimeType: "video/mp4";
                        width: number;
                    },
                ];
                origin: "feed"
                | "reels-tab";
            },
            {
                creationSessionId: string;
                media: | readonly [
                    {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    },
                ]
                | readonly [
                    | {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    }
                    | {
                        byteLength: number;
                        durationMs: number;
                        height: number;
                        id: string;
                        kind: "video";
                        mimeType: "video/mp4";
                        width: number;
                    },
                    | {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    }
                    | {
                        byteLength: number;
                        durationMs: number;
                        height: number;
                        id: string;
                        kind: "video";
                        mimeType: "video/mp4";
                        width: number;
                    },
                    | {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    }
                    | {
                        byteLength: number;
                        durationMs: number;
                        height: number;
                        id: string;
                        kind: "video";
                        mimeType: "video/mp4";
                        width: number;
                    },
                ];
                origin: "feed"
                | "reels-tab";
            },
            {
                creationSessionId: string;
                media: | readonly [
                    {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    },
                ]
                | readonly [
                    | {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    }
                    | {
                        byteLength: number;
                        durationMs: number;
                        height: number;
                        id: string;
                        kind: "video";
                        mimeType: "video/mp4";
                        width: number;
                    },
                    | {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    }
                    | {
                        byteLength: number;
                        durationMs: number;
                        height: number;
                        id: string;
                        kind: "video";
                        mimeType: "video/mp4";
                        width: number;
                    },
                    | {
                        byteLength: number;
                        height: number;
                        id: string;
                        kind: "photo";
                        mimeType: "image/jpeg"
                        | "image/png"
                        | "image/webp";
                        width: number;
                    }
                    | {
                        byteLength: number;
                        durationMs: number;
                        height: number;
                        id: string;
                        kind: "video";
                        mimeType: "video/mp4";
                        width: number;
                    },
                ];
                origin: "feed"
                | "reels-tab";
            },
            | IgCheckpointError
            | IgAccountSuspendedError
            | IgAccountDisabledError
            | IgLoginRequiredError
            | IgUserLoggedOutError,
            MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation,
            {
                next: (
                    self: ScreenHandle,
                    state: {
                        creationSessionId: string;
                        media:
                            | readonly [
                                {
                                    byteLength: number;
                                    height: number;
                                    id: string;
                                    kind: "photo";
                                    mimeType: "image/jpeg"
                                    | "image/png"
                                    | "image/webp";
                                    width: number;
                                },
                            ]
                            | readonly [
                                | {
                                    byteLength: number;
                                    height: number;
                                    id: string;
                                    kind: "photo";
                                    mimeType: "image/jpeg"
                                    | "image/png"
                                    | "image/webp";
                                    width: number;
                                }
                                | {
                                    byteLength: number;
                                    durationMs: number;
                                    height: number;
                                    id: string;
                                    kind: "video";
                                    mimeType: "video/mp4";
                                    width: number;
                                },
                                | {
                                    byteLength: number;
                                    height: number;
                                    id: string;
                                    kind: "photo";
                                    mimeType: "image/jpeg"
                                    | "image/png"
                                    | "image/webp";
                                    width: number;
                                }
                                | {
                                    byteLength: number;
                                    durationMs: number;
                                    height: number;
                                    id: string;
                                    kind: "video";
                                    mimeType: "video/mp4";
                                    width: number;
                                },
                                | {
                                    byteLength: number;
                                    height: number;
                                    id: string;
                                    kind: "photo";
                                    mimeType: "image/jpeg"
                                    | "image/png"
                                    | "image/webp";
                                    width: number;
                                }
                                | {
                                    byteLength: number;
                                    durationMs: number;
                                    height: number;
                                    id: string;
                                    kind: "video";
                                    mimeType: "video/mp4";
                                    width: number;
                                },
                            ];
                        origin: "feed"
                        | "reels-tab";
                    },
                ) => (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "PostingNewPost",
                        "screen",
                        | {
                            creationSessionId: string;
                            kind: "single";
                            media: {
                                byteLength: number;
                                height: number;
                                id: string;
                                kind: "photo";
                                mimeType: "image/jpeg"
                                | "image/png"
                                | "image/webp";
                                width: number;
                            };
                            origin: "feed"
                            | "reels-tab";
                        }
                        | {
                            creationSessionId: string;
                            kind: "carousel";
                            media: readonly [
                                | {
                                    byteLength: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                }
                                | {
                                    byteLength: ...;
                                    durationMs: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                },
                                | {
                                    byteLength: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                }
                                | {
                                    byteLength: ...;
                                    durationMs: ...;
                                    height: ...;
                                    id: ...;
                                    kind: ...;
                                    mimeType: ...;
                                    width: ...;
                                },
                            ];
                            origin: "feed"
                            | "reels-tab";
                            uploads: {
                                items: readonly { mediaId: ...; navChain?: ...; uploadId: ... }[];
                                sidecarId: string;
                                waterfallId: string;
                            };
                        },
                        {
                            share: (
                                self: ScreenHandle,
                                state:
                                    | {
                                        creationSessionId: string;
                                        kind: "single";
                                        media: {
                                            byteLength: ...;
                                            height: ...;
                                            id: ...;
                                            kind: ...;
                                            mimeType: ...;
                                            width: ...;
                                        };
                                        origin: (...)
                                        | (...);
                                    }
                                    | {
                                        creationSessionId: string;
                                        kind: "carousel";
                                        media: readonly [(...), (...)];
                                        origin: (...) | (...);
                                        uploads: { items: ...; sidecarId: ...; waterfallId: ... };
                                    },
                            ) => (
                                ...args: [options: (...) | (...)],
                            ) => Effect<
                                (...) & (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | PostingPhotoEncodeError
                        | PostingVideoEncodeError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError
                        | PostingMediaNotInProcessError,
                    | PlainJsonApiHttp
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | NavigationWire
                    | MobileNavigation
                    | JsonResponseHttp
                    | MobileUserFlows
                    | ScreenStack
                    | ScreenCatalog
                    | AndroidPostingMedia,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        PostingReelEditor: PostingReelEditorScreenDefinition;
        PostingReelMusicEditor: PostingReelMusicEditorScreenDefinition;
        PostingStoryAlsoShareTo: PostingStoryAlsoShareToScreenDefinition;
        PostingStoryMusicStickerEditor: PostingStoryMusicStickerEditorScreenDefinition;
        PostingStoryPhotoEditor: PostingStoryPhotoEditorScreenDefinition;
        PostingStoryShareSheet: PostingStoryShareSheetScreenDefinition;
        PostingStoryStickerTray: PostingStoryStickerTrayScreenDefinition;
        PostingStoryVideoEditor: PostingStoryVideoEditorScreenDefinition;
        PostOpenedFromLink: ScreenDefinition<
            "PostOpenedFromLink",
            "screen",
            {
                feedPosition?: string
                | number;
                loggingInfoToken?: string;
                mediaId: string;
            },
            {
                carousel?: {
                    children: readonly string[];
                    size?: number;
                    slide?: number;
                };
                mediaId: string;
                trackingToken: string;
            },
            PostOpenedFromLinkState,
            IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,
            PlainJsonApiHttp | MobileNavigation | AndroidThrottlingDetector,
            {
                like: (
                    self: ScreenHandle,
                    state: PostOpenedFromLinkState,
                ) => (
                    ...args: [],
                ) => Effect<
                    | {
                        data: {
                            xig_media_like: {
                                media: {
                                    __typename?: ...;
                                    has_liked: ...;
                                    id: ...;
                                    strong_id__?: ...;
                                };
                            };
                        };
                    } & { raw: ActionRaw }
                    | MediaLikeRestResponse & { raw: ActionRaw },

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | SchemaError
                        | GraphqlRootFieldMissingError
                        | ScreenEnterConcurrentError
                        | CarouselSlideNotFoundError
                        | CarouselSlidesNotLoadedError,
                    | PlainJsonApiHttp
                    | Signature
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | NavigationWire
                    | MobileNavigation
                    | MobileUserFlows
                    | ScreenStack,
                >;
                openComments: (
                    self: ScreenHandle,
                    state: PostOpenedFromLinkState,
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "MediaComments",
                            "screen",
                            | {
                                carousel?: { children: readonly (...)[]; slide: number };
                                chainingSeedMediaId?: string;
                                commentSessionId?: string;
                                feedPosition?: string | number;
                                mediaId: string;
                                rankingSessionId?: string;
                                surface: "feed";
                            }
                            | {
                                chainingPosition?: string
                                | number;
                                chainingSeedMediaId?: string;
                                chainingSessionId?: string;
                                clientPosition?: string | number;
                                commentSessionId?: string;
                                mediaId: string;
                                rankingSessionId?: string;
                                storyRankingToken?: string;
                                surface: "reels";
                            },
                            | {
                                commentSessionId: string;
                                createdMediaNoteIds: readonly string[];
                                mediaId: string;
                                slide?: { index: number; mediaId: string };
                                surface: "feed";
                            }
                            | {
                                commentSessionId: string;
                                createdMediaNoteIds: readonly string[];
                                mediaId: string;
                                surface: "reels";
                            },
                            | {
                                carousel?: { children: ...; slide: ... };
                                chainingSeedMediaId?: string;
                                commentSessionId?: string;
                                feedPosition?: string | number;
                                mediaId: string;
                                rankingSessionId?: string;
                                surface: "feed";
                            } & {
                                commentSessionId: string;
                                createdMediaNoteIds: readonly string[];
                                mediaId: string;
                                slide?: { index: ...; mediaId: ... };
                                surface: "feed";
                            }
                            | never
                            | never
                            | {
                                chainingPosition?: string
                                | number;
                                chainingSeedMediaId?: string;
                                chainingSessionId?: string;
                                clientPosition?: string | number;
                                commentSessionId?: string;
                                mediaId: string;
                                rankingSessionId?: string;
                                storyRankingToken?: string;
                                surface: "reels";
                            } & {
                                commentSessionId: string;
                                createdMediaNoteIds: readonly string[];
                                mediaId: string;
                                surface: "reels";
                            },
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | ScreenDataError,
                            | PlainJsonApiHttp
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation
                            | JsonResponseHttp
                            | MobileUserFlows
                            | MediaCommentsReads
                            | AndroidQuickPromotionStash,
                            {
                                comment: (
                                    self: ScreenHandle,
                                    state:
                                        | {
                                            carousel?: ...;
                                            chainingSeedMediaId?: ...;
                                            commentSessionId?: ...;
                                            feedPosition?: ...;
                                            mediaId: ...;
                                            rankingSessionId?: ...;
                                            surface: ...;
                                        } & {
                                            commentSessionId: ...;
                                            createdMediaNoteIds: ...;
                                            mediaId: ...;
                                            slide?: ...;
                                            surface: ...;
                                        }
                                        | never
                                        | never
                                        | {
                                            chainingPosition?: ...;
                                            chainingSeedMediaId?: ...;
                                            chainingSessionId?: ...;
                                            clientPosition?: ...;
                                            commentSessionId?: ...;
                                            mediaId: ...;
                                            rankingSessionId?: ...;
                                            storyRankingToken?: ...;
                                            surface: ...;
                                        } & {
                                            commentSessionId: ...;
                                            createdMediaNoteIds: ...;
                                            mediaId: ...;
                                            surface: ...;
                                        },
                                ) => (
                                    ...args: [text: string, options?: (...) | (...)],
                                ) => Effect<
                                    (...) & (...),
                                    (...) | (...) | (...) | (...) | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >;
                            },
                            Record<never, never>,
                            never,
                            "mediaId",
                        >,
                        readonly [{ commentSessionId?: string; rankingSessionId?: string }],
                        "button",
                        AndroidScreens,
                    >,
                    (
                        ...args: readonly [
                            { commentSessionId?: string; rankingSessionId?: string },
                        ],
                    ) => Effect<
                        AssembledHandle<
                            "MediaComments",
                            "screen",
                            | {
                                commentSessionId: string;
                                createdMediaNoteIds: readonly string[];
                                mediaId: string;
                                slide?: { index: ...; mediaId: ... };
                                surface: "feed";
                            }
                            | {
                                commentSessionId: string;
                                createdMediaNoteIds: readonly string[];
                                mediaId: string;
                                surface: "reels";
                            },
                            {
                                comment: (
                                    self: ScreenHandle,
                                    state: (...) & (...) | never | never | (...) & (...),
                                ) => (
                                    ...args: [text: ..., options?: ...],
                                ) => Effect<(...), (...), (...)>;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            "mediaId",
                            AndroidScreens,
                        >,

                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | PlainJsonApiHttp
                        | MobileSession
                        | MobileDevice
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation
                        | JsonResponseHttp
                        | MobileUserFlows
                        | ScreenStack
                        | MediaCommentsReads
                        | AndroidQuickPromotionStash
                        | ScreenCatalog,
                    >,
                >;
                repost: (
                    self: ScreenHandle,
                    state: PostOpenedFromLinkState,
                ) => (
                    ...args: [text?: string],
                ) => Effect<
                    { note: MediaCreateNoteResponse; trackingToken: string } & {
                        raw: ActionRaw;
                    },
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | SchemaError
                    | GraphqlRootFieldMissingError
                    | MediaRepostTextTooLongError
                    | ScreenEnterConcurrentError
                    | CarouselSlideNotFoundError
                    | CarouselSlidesNotLoadedError,
                    | PlainJsonApiHttp
                    | Signature
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | NavigationWire
                    | MobileNavigation
                    | MobileUserFlows
                    | ScreenStack,
                >;
                swipeToSlide: (
                    self: ScreenHandle,
                    state: PostOpenedFromLinkState,
                ) => ScreenDataMember<
                    ScreenDataShape,
                    (
                        ...args: [index: number],
                    ) => Effect<
                        ScreenHandle,
                        ScreenDataActionFailure<
                            CarouselSlideNotFoundError
                            | CarouselSlidesNotLoadedError,
                        >,
                        MobileNavigation | ScreenStack,
                    >,
                >;
            },
            Record<never, never>,
            never,
            "mediaId",
        >;
        ProfilePostsFeed: SwipeableFeedScreen<
            "ProfilePostsFeed",
            "screen",
            {
                firstMediaId: string;
                firstPosition: number;
                followsAuthor?: boolean;
                media: readonly {
                    authorId?: string;
                    carousel?: { children: readonly string[]; size?: number };
                    dashManifest?: string;
                    id: string;
                    mediaType?: number;
                    takenAt?: number;
                    trackingToken?: string;
                    videoDuration?: number;
                }[];
                ownerUsername: string;
                pageCursor?: { gridItemsCursor: string; maxId: string };
                userId: string;
            },
            ProfilePostsFeedCursor,
            {
                media: readonly {
                    authorId?: string;
                    carousel?: {
                        children: readonly string[];
                        size?: number;
                        slide?: number;
                    };
                    dashManifest?: string;
                    mediaId: string;
                    mediaType: 0
                    | 1
                    | 2
                    | 8;
                    position: number;
                    takenAt?: number;
                    trackingToken?: string;
                    videoDuration?: number;
                }[];
                next?: { gridItemsCursor: string; maxId: string };
                nextPosition: number;
            },
            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | SchemaError
            | GraphqlRootFieldMissingError,
            GraphqlJsonHttp
            | MobileApplication,

                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | SchemaError
                | GraphqlRootFieldMissingError
                | ScreenDataError,
            | PlainJsonApiHttp
            | MobileSession
            | MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | MobileDisplayScaleWire
            | MobileNavigation
            | AndroidThrottlingDetector,
            {},
            {
                at: "media";
                by: "mediaType";
                key: "mediaId";
                source: { first: ScreenNoItemNodes; next: ScreenItemNodes };
                variants: {
                    "0": ScreenItemDefinition<
                        "ProfilePostsFeedMedia",
                        {
                            authorId?: string;
                            carousel?: {
                                children: readonly string[];
                                size?: number;
                                slide?: number;
                            };
                            dashManifest?: string;
                            mediaId: string;
                            mediaType: 0
                            | 1
                            | 2
                            | 8;
                            position: number;
                            takenAt?: number;
                            trackingToken?: string;
                            videoDuration?: number;
                        },
                        {
                            authorId?: string;
                            carousel?: {
                                children: readonly string[];
                                size?: number;
                                slide?: number;
                            };
                            dashManifest?: string;
                            mediaId: string;
                            mediaType: 0
                            | 1
                            | 2
                            | 8;
                            position: number;
                            takenAt?: number;
                            trackingToken?: string;
                            videoDuration?: number;
                        },
                        ProfilePostsFeedMediaState,
                        never,
                        never,
                        {
                            like: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                | { data: ... } & { raw: ... }
                                | MediaLikeRestResponse & { raw: ... },

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | SchemaError
                                    | GraphqlRootFieldMissingError
                                    | ScreenEnterConcurrentError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            openComments: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        "MediaComments",
                                        "screen",
                                        | {
                                            carousel?: ...;
                                            chainingSeedMediaId?: ...;
                                            commentSessionId?: ...;
                                            feedPosition?: ...;
                                            mediaId: ...;
                                            rankingSessionId?: ...;
                                            surface: ...;
                                        }
                                        | {
                                            chainingPosition?: ...;
                                            chainingSeedMediaId?: ...;
                                            chainingSessionId?: ...;
                                            clientPosition?: ...;
                                            commentSessionId?: ...;
                                            mediaId: ...;
                                            rankingSessionId?: ...;
                                            storyRankingToken?: ...;
                                            surface: ...;
                                        },
                                        | {
                                            commentSessionId: ...;
                                            createdMediaNoteIds: ...;
                                            mediaId: ...;
                                            slide?: ...;
                                            surface: ...;
                                        }
                                        | {
                                            commentSessionId: ...;
                                            createdMediaNoteIds: ...;
                                            mediaId: ...;
                                            surface: ...;
                                        },
                                        (...) & (...)
                                        | never
                                        | never
                                        | (...) & (...),

                                            | IgApiError
                                            | RequestError
                                            | ParseError
                                            | TransportError
                                            | ScreenDataError,
                                        | PlainJsonApiHttp
                                        | MobileSession
                                        | MobileDevice
                                        | GraphqlJsonHttp
                                        | MobileApplication
                                        | MobileNavigation
                                        | JsonResponseHttp
                                        | MobileUserFlows
                                        | MediaCommentsReads
                                        | AndroidQuickPromotionStash,
                                        { comment: (self: ..., state: ...) => ... },
                                        Record<never, never>,
                                        never,
                                        "mediaId",
                                    >,
                                    readonly [
                                        {
                                            commentSessionId?: (...)
                                            | (...);
                                            rankingSessionId?: (...) | (...);
                                        },
                                    ],
                                    "button",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: readonly [
                                        {
                                            commentSessionId?: (...)
                                            | (...);
                                            rankingSessionId?: (...) | (...);
                                        },
                                    ],
                                ) => Effect<
                                    AssembledHandle<
                                        "MediaComments",
                                        "screen",
                                        (...)
                                        | (...),
                                        { comment: ... },
                                        Record<(...), (...)>,
                                        ScreenHandle,
                                        "required",
                                        true,
                                        "mediaId",
                                        AndroidScreens,
                                    >,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError
                                        | ScreenEnterConcurrentError
                                        | ScreenEdgeInputError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | MobileNavigation
                                    | JsonResponseHttp
                                    | MobileUserFlows
                                    | ScreenStack
                                    | MediaCommentsReads
                                    | AndroidQuickPromotionStash
                                    | ScreenCatalog,
                                >,
                            >;
                            removeRepost: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                ActionValue<string>,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError,
                                GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation
                                | ScreenStack,
                            >;
                            repost: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [text?: string],
                            ) => Effect<
                                { note: MediaCreateNoteResponse; trackingToken: string } & {
                                    raw: ActionRaw;
                                },
                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | MediaRepostTextTooLongError
                                | ScreenDataError
                                | ScreenEnterConcurrentError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            unlike: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                ActionValue<string>,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError,
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | ScreenStack,
                            >;
                        },
                        { facts: { firstMediaId: string; followsAuthor?: boolean } },
                        never,
                    >;
                    "1": ScreenItemDefinition<
                        "ProfilePostsFeedPhoto",
                        {
                            authorId?: string;
                            carousel?: {
                                children: readonly string[];
                                size?: number;
                                slide?: number;
                            };
                            dashManifest?: string;
                            mediaId: string;
                            mediaType: 0
                            | 1
                            | 2
                            | 8;
                            position: number;
                            takenAt?: number;
                            trackingToken?: string;
                            videoDuration?: number;
                        },
                        {
                            authorId?: string;
                            carousel?: {
                                children: readonly string[];
                                size?: number;
                                slide?: number;
                            };
                            dashManifest?: string;
                            mediaId: string;
                            mediaType: 0
                            | 1
                            | 2
                            | 8;
                            position: number;
                            takenAt?: number;
                            trackingToken?: string;
                            videoDuration?: number;
                        },
                        ProfilePostsFeedMediaState,
                        never,
                        never,
                        {
                            like: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                | { data: ... } & { raw: ... }
                                | MediaLikeRestResponse & { raw: ... },

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | SchemaError
                                    | GraphqlRootFieldMissingError
                                    | ScreenEnterConcurrentError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            openComments: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        "MediaComments",
                                        "screen",
                                        | {
                                            carousel?: ...;
                                            chainingSeedMediaId?: ...;
                                            commentSessionId?: ...;
                                            feedPosition?: ...;
                                            mediaId: ...;
                                            rankingSessionId?: ...;
                                            surface: ...;
                                        }
                                        | {
                                            chainingPosition?: ...;
                                            chainingSeedMediaId?: ...;
                                            chainingSessionId?: ...;
                                            clientPosition?: ...;
                                            commentSessionId?: ...;
                                            mediaId: ...;
                                            rankingSessionId?: ...;
                                            storyRankingToken?: ...;
                                            surface: ...;
                                        },
                                        | {
                                            commentSessionId: ...;
                                            createdMediaNoteIds: ...;
                                            mediaId: ...;
                                            slide?: ...;
                                            surface: ...;
                                        }
                                        | {
                                            commentSessionId: ...;
                                            createdMediaNoteIds: ...;
                                            mediaId: ...;
                                            surface: ...;
                                        },
                                        (...) & (...)
                                        | never
                                        | never
                                        | (...) & (...),

                                            | IgApiError
                                            | RequestError
                                            | ParseError
                                            | TransportError
                                            | ScreenDataError,
                                        | PlainJsonApiHttp
                                        | MobileSession
                                        | MobileDevice
                                        | GraphqlJsonHttp
                                        | MobileApplication
                                        | MobileNavigation
                                        | JsonResponseHttp
                                        | MobileUserFlows
                                        | MediaCommentsReads
                                        | AndroidQuickPromotionStash,
                                        { comment: (self: ..., state: ...) => ... },
                                        Record<never, never>,
                                        never,
                                        "mediaId",
                                    >,
                                    readonly [
                                        {
                                            commentSessionId?: (...)
                                            | (...);
                                            rankingSessionId?: (...) | (...);
                                        },
                                    ],
                                    "button",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: readonly [
                                        {
                                            commentSessionId?: (...)
                                            | (...);
                                            rankingSessionId?: (...) | (...);
                                        },
                                    ],
                                ) => Effect<
                                    AssembledHandle<
                                        "MediaComments",
                                        "screen",
                                        (...)
                                        | (...),
                                        { comment: ... },
                                        Record<(...), (...)>,
                                        ScreenHandle,
                                        "required",
                                        true,
                                        "mediaId",
                                        AndroidScreens,
                                    >,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError
                                        | ScreenEnterConcurrentError
                                        | ScreenEdgeInputError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | MobileNavigation
                                    | JsonResponseHttp
                                    | MobileUserFlows
                                    | ScreenStack
                                    | MediaCommentsReads
                                    | AndroidQuickPromotionStash
                                    | ScreenCatalog,
                                >,
                            >;
                            removeRepost: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                ActionValue<string>,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError,
                                GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation
                                | ScreenStack,
                            >;
                            repost: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [text?: string],
                            ) => Effect<
                                { note: MediaCreateNoteResponse; trackingToken: string } & {
                                    raw: ActionRaw;
                                },
                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | MediaRepostTextTooLongError
                                | ScreenDataError
                                | ScreenEnterConcurrentError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            unlike: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                ActionValue<string>,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError,
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | ScreenStack,
                            >;
                        },
                        { facts: { firstMediaId: string; followsAuthor?: boolean } },
                        never,
                    >;
                    "2": ScreenItemDefinition<
                        "ProfilePostsFeedVideo",
                        {
                            authorId?: string;
                            carousel?: {
                                children: readonly string[];
                                size?: number;
                                slide?: number;
                            };
                            dashManifest?: string;
                            mediaId: string;
                            mediaType: 0
                            | 1
                            | 2
                            | 8;
                            position: number;
                            takenAt?: number;
                            trackingToken?: string;
                            videoDuration?: number;
                        },
                        {
                            authorId?: string;
                            carousel?: {
                                children: readonly string[];
                                size?: number;
                                slide?: number;
                            };
                            dashManifest?: string;
                            mediaId: string;
                            mediaType: 0
                            | 1
                            | 2
                            | 8;
                            position: number;
                            takenAt?: number;
                            trackingToken?: string;
                            videoDuration?: number;
                        },
                        ProfilePostsFeedVideoState,
                        never,
                        | MobileSession
                        | MobileDevice
                        | NavigationWire
                        | MobileTelemetry
                        | MobileNetworkWire,
                        {
                            like: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                | { data: ... } & { raw: ... }
                                | MediaLikeRestResponse & { raw: ... },

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | SchemaError
                                    | GraphqlRootFieldMissingError
                                    | ScreenEnterConcurrentError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            openComments: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        "MediaComments",
                                        "screen",
                                        | {
                                            carousel?: ...;
                                            chainingSeedMediaId?: ...;
                                            commentSessionId?: ...;
                                            feedPosition?: ...;
                                            mediaId: ...;
                                            rankingSessionId?: ...;
                                            surface: ...;
                                        }
                                        | {
                                            chainingPosition?: ...;
                                            chainingSeedMediaId?: ...;
                                            chainingSessionId?: ...;
                                            clientPosition?: ...;
                                            commentSessionId?: ...;
                                            mediaId: ...;
                                            rankingSessionId?: ...;
                                            storyRankingToken?: ...;
                                            surface: ...;
                                        },
                                        | {
                                            commentSessionId: ...;
                                            createdMediaNoteIds: ...;
                                            mediaId: ...;
                                            slide?: ...;
                                            surface: ...;
                                        }
                                        | {
                                            commentSessionId: ...;
                                            createdMediaNoteIds: ...;
                                            mediaId: ...;
                                            surface: ...;
                                        },
                                        (...) & (...)
                                        | never
                                        | never
                                        | (...) & (...),

                                            | IgApiError
                                            | RequestError
                                            | ParseError
                                            | TransportError
                                            | ScreenDataError,
                                        | PlainJsonApiHttp
                                        | MobileSession
                                        | MobileDevice
                                        | GraphqlJsonHttp
                                        | MobileApplication
                                        | MobileNavigation
                                        | JsonResponseHttp
                                        | MobileUserFlows
                                        | MediaCommentsReads
                                        | AndroidQuickPromotionStash,
                                        { comment: (self: ..., state: ...) => ... },
                                        Record<never, never>,
                                        never,
                                        "mediaId",
                                    >,
                                    readonly [
                                        {
                                            commentSessionId?: (...)
                                            | (...);
                                            rankingSessionId?: (...) | (...);
                                        },
                                    ],
                                    "button",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: readonly [
                                        {
                                            commentSessionId?: (...)
                                            | (...);
                                            rankingSessionId?: (...) | (...);
                                        },
                                    ],
                                ) => Effect<
                                    AssembledHandle<
                                        "MediaComments",
                                        "screen",
                                        (...)
                                        | (...),
                                        { comment: ... },
                                        Record<(...), (...)>,
                                        ScreenHandle,
                                        "required",
                                        true,
                                        "mediaId",
                                        AndroidScreens,
                                    >,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError
                                        | ScreenEnterConcurrentError
                                        | ScreenEdgeInputError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | MobileNavigation
                                    | JsonResponseHttp
                                    | MobileUserFlows
                                    | ScreenStack
                                    | MediaCommentsReads
                                    | AndroidQuickPromotionStash
                                    | ScreenCatalog,
                                >,
                            >;
                            removeRepost: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                ActionValue<string>,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError,
                                GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation
                                | ScreenStack,
                            >;
                            repost: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [text?: string],
                            ) => Effect<
                                { note: MediaCreateNoteResponse; trackingToken: string } & {
                                    raw: ActionRaw;
                                },
                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | MediaRepostTextTooLongError
                                | ScreenDataError
                                | ScreenEnterConcurrentError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            unlike: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                ActionValue<string>,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError,
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | ScreenStack,
                            >;
                        },
                        { facts: { firstMediaId: string; followsAuthor?: boolean } },
                        never,
                    >;
                    "8": ScreenItemDefinition<
                        "ProfilePostsFeedCarousel",
                        {
                            authorId?: string;
                            carousel?: {
                                children: readonly string[];
                                size?: number;
                                slide?: number;
                            };
                            dashManifest?: string;
                            mediaId: string;
                            mediaType: 0
                            | 1
                            | 2
                            | 8;
                            position: number;
                            takenAt?: number;
                            trackingToken?: string;
                            videoDuration?: number;
                        },
                        {
                            authorId?: string;
                            carousel?: {
                                children: readonly string[];
                                size?: number;
                                slide?: number;
                            };
                            dashManifest?: string;
                            mediaId: string;
                            mediaType: 0
                            | 1
                            | 2
                            | 8;
                            position: number;
                            takenAt?: number;
                            trackingToken?: string;
                            videoDuration?: number;
                        },
                        ProfilePostsFeedCarouselState,
                        never,
                        never,
                        {
                            like: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                | { data: ... } & { raw: ... }
                                | MediaLikeRestResponse & { raw: ... },

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | SchemaError
                                    | GraphqlRootFieldMissingError
                                    | ScreenEnterConcurrentError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            openComments: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        "MediaComments",
                                        "screen",
                                        | {
                                            carousel?: ...;
                                            chainingSeedMediaId?: ...;
                                            commentSessionId?: ...;
                                            feedPosition?: ...;
                                            mediaId: ...;
                                            rankingSessionId?: ...;
                                            surface: ...;
                                        }
                                        | {
                                            chainingPosition?: ...;
                                            chainingSeedMediaId?: ...;
                                            chainingSessionId?: ...;
                                            clientPosition?: ...;
                                            commentSessionId?: ...;
                                            mediaId: ...;
                                            rankingSessionId?: ...;
                                            storyRankingToken?: ...;
                                            surface: ...;
                                        },
                                        | {
                                            commentSessionId: ...;
                                            createdMediaNoteIds: ...;
                                            mediaId: ...;
                                            slide?: ...;
                                            surface: ...;
                                        }
                                        | {
                                            commentSessionId: ...;
                                            createdMediaNoteIds: ...;
                                            mediaId: ...;
                                            surface: ...;
                                        },
                                        (...) & (...)
                                        | never
                                        | never
                                        | (...) & (...),

                                            | IgApiError
                                            | RequestError
                                            | ParseError
                                            | TransportError
                                            | ScreenDataError,
                                        | PlainJsonApiHttp
                                        | MobileSession
                                        | MobileDevice
                                        | GraphqlJsonHttp
                                        | MobileApplication
                                        | MobileNavigation
                                        | JsonResponseHttp
                                        | MobileUserFlows
                                        | MediaCommentsReads
                                        | AndroidQuickPromotionStash,
                                        { comment: (self: ..., state: ...) => ... },
                                        Record<never, never>,
                                        never,
                                        "mediaId",
                                    >,
                                    readonly [
                                        {
                                            commentSessionId?: (...)
                                            | (...);
                                            rankingSessionId?: (...) | (...);
                                        },
                                    ],
                                    "button",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: readonly [
                                        {
                                            commentSessionId?: (...)
                                            | (...);
                                            rankingSessionId?: (...) | (...);
                                        },
                                    ],
                                ) => Effect<
                                    AssembledHandle<
                                        "MediaComments",
                                        "screen",
                                        (...)
                                        | (...),
                                        { comment: ... },
                                        Record<(...), (...)>,
                                        ScreenHandle,
                                        "required",
                                        true,
                                        "mediaId",
                                        AndroidScreens,
                                    >,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError
                                        | ScreenEnterConcurrentError
                                        | ScreenEdgeInputError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | MobileNavigation
                                    | JsonResponseHttp
                                    | MobileUserFlows
                                    | ScreenStack
                                    | MediaCommentsReads
                                    | AndroidQuickPromotionStash
                                    | ScreenCatalog,
                                >,
                            >;
                            removeRepost: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                ActionValue<string>,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError,
                                GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation
                                | ScreenStack,
                            >;
                            repost: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [text?: string],
                            ) => Effect<
                                { note: MediaCreateNoteResponse; trackingToken: string } & {
                                    raw: ActionRaw;
                                },
                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | MediaRepostTextTooLongError
                                | ScreenDataError
                                | ScreenEnterConcurrentError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack,
                            >;
                            swipeToSlide: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedCarouselState,
                            ) => ScreenDataMember<
                                ScreenDataShape,
                                (
                                    ...args: [index: number],
                                ) => Effect<
                                    ScreenHandle,
                                    ScreenDataActionFailure<(...) | (...)>,
                                    MobileNavigation | ScreenStack,
                                >,
                            >;
                            unlike: (
                                self: ScreenHandle,
                                state: ProfilePostsFeedMediaState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                ActionValue<string>,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenEnterConcurrentError,
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | ScreenStack,
                            >;
                        },
                        { facts: { firstMediaId: string; followsAuthor?: boolean } },
                        never,
                    >;
                };
            },
            | IgCheckpointError
            | IgAccountSuspendedError
            | IgAccountDisabledError
            | IgLoginRequiredError
            | IgUserLoggedOutError,
            PlainJsonApiHttp,
            { firstMediaId: string; followsAuthor?: boolean },
        >;
        ReelsViewer: ReelsViewerScreenDefinition;
        RegistrationBirthday: RegistrationBirthdayDefinition;
        RegistrationConfirmationCode: RegistrationConfirmationCodeDefinition;
        RegistrationName: RegistrationNameDefinition;
        RegistrationPassword: RegistrationPasswordDefinition;
        RegistrationPhoneNumber: RegistrationPhoneNumberDefinition;
        RegistrationTermsOfService: RegistrationTermsOfServiceDefinition;
        RegistrationUsername: RegistrationUsernameDefinition;
        RepostNoteEditor: ScreenDefinition<
            "RepostNoteEditor",
            "screen",
            { mediaId: string; noteId: string; trackingToken: string },
            { mediaId: string; noteId: string },
            RepostNoteEditorState,
            never,
            MobileApplication | MobileNavigation,
            {
                post: (
                    self: ScreenHandle,
                    state: RepostNoteEditorState,
                ) => (
                    ...args: [text: string],
                ) => Effect<
                    {
                        data: {
                            xdt_update_media_note_repost_text: { id: string; text: string };
                        };
                    } & { raw: ActionRaw },

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | SchemaError
                        | GraphqlRootFieldMissingError
                        | MediaRepostTextTooLongError
                        | ScreenEnterConcurrentError,
                    GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack,
                >;
            },
            Record<never, never>,
            never,
            "mediaId",
        >;
        SearchInput: ScreenDefinition<
            "SearchInput",
            "screen",
            | {
                lastSeenMedia?: readonly {
                    mediaIds: readonly string[];
                    surfaceType: string;
                    timestamp: number;
                }[];
                query: string;
                session?: {
                    clientUuidRankToken?: string;
                    searchSessionId: string;
                    serpSessionId?: string;
                    typeaheadSessionId?: string;
                };
            }
            | {
                recent: readonly {
                    fullName: string;
                    userId: string;
                    username: string;
                }[];
            },
            {
                query: string;
                rankToken: string;
                recentAccounts: readonly {
                    fullName: string;
                    userId: string;
                    username: string;
                }[];
                results: readonly (
                    | {
                        __typename: "unknown";
                        item: { kind: "unknown"; kindKey?: string; raw: Json };
                        key: string;
                    }
                    | {
                        __typename: "XDTTypeaheadSearchKeyword";
                        key: string;
                        keyword_lazified: {
                            id: string;
                            name: string;
                            user?: | {
                                full_name?: string;
                                id: string;
                                is_private?: boolean;
                                is_verified?: boolean;
                                latest_reel_media?: number
                                | null;
                                profile_pic_url?: string;
                                search_serp_type?: number | null;
                                username: string;
                            }
                            | null;
                        };
                    }
                    | {
                        __typename: "XDTTypeaheadSearchUser";
                        key: string;
                        rank_token?: string;
                        user: {
                            full_name?: string;
                            id: string;
                            is_private?: boolean;
                            is_verified?: boolean;
                            latest_reel_media?: number
                            | null;
                            profile_pic_url?: string;
                            search_serp_type?: number | null;
                            username: string;
                        };
                    }
                    | {
                        __typename: "XDTTypeaheadSearchHashtag";
                        hashtag: { id: string; media_count?: number; name: string };
                        key: string;
                    }
                    | {
                        __typename: "XDTTypeaheadSearchOverfetchedKeywords";
                        key: string;
                        keywords: readonly {
                            id: string;
                            name: string;
                            user?: | {
                                full_name?: string;
                                id: string;
                                is_private?: boolean;
                                is_verified?: boolean;
                                latest_reel_media?: number
                                | null;
                                profile_pic_url?: string;
                                search_serp_type?: number | null;
                                username: string;
                            }
                            | null;
                        }[];
                        num_keywords_to_show?: number;
                        query_text: string;
                    }
                )[];
                session?: {
                    clientUuidRankToken: string;
                    searchSessionId: string;
                    serpSessionId?: string;
                    typeaheadSessionId: string;
                };
            },
            SearchInputState,
            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | SchemaError
            | GraphqlRootFieldMissingError,
            MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation,
            {
                change: (
                    self: ScreenHandle,
                    state: SearchInputState,
                ) => ScreenDataMember<
                    ScreenDataShape,
                    (
                        ...args: [query: string],
                    ) => Effect<
                        ScreenHandle,
                        ScreenDataActionFailure<
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | SchemaError
                            | GraphqlRootFieldMissingError,
                        >,
                        | MobileSession
                        | MobileDevice
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation
                        | ScreenStack,
                    >,
                >;
                search: (
                    self: ScreenHandle,
                    state: SearchInputState,
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "SearchResultsTopTab",
                            "screen",
                            {
                                lastSeenMedia?: readonly {
                                    mediaIds: readonly (...)[];
                                    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,

                                | PlainJsonApiHttp
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation,
                            {
                                openUsers: (
                                    self: ScreenHandle,
                                    state: {
                                        query: string;
                                        session: {
                                            clientUuidRankToken?: (...) | (...);
                                            searchSessionId: string;
                                            serpSessionId: string;
                                            typeaheadSessionId?: (...) | (...);
                                        };
                                    },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        ScreenDefinition<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,
                                        [],
                                        "search_result",
                                        AndroidScreens,
                                    >,
                                    (...args: []) => Effect<(...), (...), (...)>,
                                >;
                            },
                            Record<never, never>,
                            never,
                            never,
                        >,
                        readonly [string],
                        "search_result",
                        AndroidScreens,
                    >,
                    (
                        ...args: readonly [string],
                    ) => Effect<
                        AssembledHandle<
                            "SearchResultsTopTab",
                            "screen",
                            {
                                query: string;
                                session: {
                                    clientUuidRankToken?: string;
                                    searchSessionId: string;
                                    serpSessionId: string;
                                    typeaheadSessionId?: string;
                                };
                            },
                            {
                                openUsers: (
                                    self: ScreenHandle,
                                    state: {
                                        query: string;
                                        session: {
                                            clientUuidRankToken?: ...;
                                            searchSessionId: ...;
                                            serpSessionId: ...;
                                            typeaheadSessionId?: ...;
                                        };
                                    },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >;
                            },
                            Record<never, never>,
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,

                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | ScreenDataError
                            | ScreenEnterConcurrentError
                            | ScreenEdgeInputError,
                        | PlainJsonApiHttp
                        | MobileDevice
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog,
                    >,
                >;
            },
            {
                recentAccounts: {
                    at: "recentAccounts";
                    item: ScreenItemDefinition<
                        "RecentSearchAccount",
                        { fullName: string; userId: string; username: string },
                        { fullName: string; userId: string; username: string },
                        RecentSearchAccountState,
                        never,
                        never,
                        {
                            openProfile: (
                                self: ScreenHandle,
                                state: RecentSearchAccountState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    UserProfileDefinition,
                                    [],

                                        | "clips_profile"
                                        | "inbox"
                                        | "tab"
                                        | "cold_start"
                                        | "warm_start"
                                        | "button"
                                        | "search_result"
                                        | "inbox_new_message"
                                        | "suggested_users"
                                        | "third_party_url"
                                        | "message_button"
                                        | "camera_tab_bar"
                                        | "next",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: [],
                                ) => Effect<
                                    AssembledHandle<
                                        "UserProfile",
                                        "screen",
                                        {
                                            backgroundFailures: ...;
                                            following?: ...;
                                            gridCursor?: ...;
                                            isPrivate: ...;
                                            media: ...;
                                            suggested: ...;
                                            userId: ...;
                                            username: ...;
                                        },
                                        ProfileActions,
                                        { grid: ...; suggestedUsers: ... },
                                        ScreenHandle,
                                        "required",
                                        true,
                                        "userId",
                                        AndroidScreens,
                                    >,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | SchemaError
                                        | GraphqlRootFieldMissingError
                                        | ScreenDataError
                                        | ScreenEnterConcurrentError
                                        | ScreenEdgeInputError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | NavigationWire
                                    | PlainNdjsonApiHttp
                                    | MobileNavigation
                                    | MobileUserFlows
                                    | MobileProcessMobileConfig
                                    | ScreenStack
                                    | AndroidThrottlingDetector
                                    | AndroidQuickPromotionStash
                                    | ScreenCatalog,
                                >,
                            >;
                        },
                        undefined,
                        never,
                    >;
                    key: "userId";
                    source: ScreenNoItemNodes;
                };
                results: {
                    at: "results";
                    by: "__typename";
                    key: "key";
                    source: ScreenNoItemNodes;
                    variants: {
                        unknown: ScreenItemDefinition<
                            "SearchInputUnknownResult",
                            {
                                __typename: "unknown";
                                item: { kind: "unknown"; kindKey?: string; raw: Json };
                                key: string;
                            },
                            {
                                __typename: "unknown";
                                item: { kind: "unknown"; kindKey?: string; raw: Json };
                                key: string;
                            },
                            Record<never, never>,
                            never,
                            never,
                            {},
                            undefined,
                            never,
                        >;
                        XDTTypeaheadSearchHashtag: ScreenItemDefinition<
                            "SearchInputHashtagResult",
                            {
                                __typename: "XDTTypeaheadSearchHashtag";
                                hashtag: { id: string; media_count?: number; name: string };
                                key: string;
                            },
                            {
                                __typename: "XDTTypeaheadSearchHashtag";
                                hashtag: { id: string; media_count?: number; name: string };
                                key: string;
                            },
                            Record<never, never>,
                            never,
                            never,
                            {},
                            undefined,
                            never,
                        >;
                        XDTTypeaheadSearchKeyword: ScreenItemDefinition<
                            "SearchInputKeywordResult",
                            {
                                __typename: "XDTTypeaheadSearchKeyword";
                                key: string;
                                keyword_lazified: {
                                    id: string;
                                    name: string;
                                    user?: | {
                                        full_name?: string;
                                        id: string;
                                        is_private?: boolean;
                                        is_verified?: boolean;
                                        latest_reel_media?: number
                                        | null;
                                        profile_pic_url?: string;
                                        search_serp_type?: number | null;
                                        username: string;
                                    }
                                    | null;
                                };
                            },
                            {
                                __typename: "XDTTypeaheadSearchKeyword";
                                key: string;
                                keyword_lazified: {
                                    id: string;
                                    name: string;
                                    user?: | {
                                        full_name?: string;
                                        id: string;
                                        is_private?: boolean;
                                        is_verified?: boolean;
                                        latest_reel_media?: number
                                        | null;
                                        profile_pic_url?: string;
                                        search_serp_type?: number | null;
                                        username: string;
                                    }
                                    | null;
                                };
                            },
                            Record<never, never>,
                            never,
                            never,
                            {},
                            undefined,
                            never,
                        >;
                        XDTTypeaheadSearchOverfetchedKeywords: ScreenItemDefinition<
                            "SearchInputOverfetchedKeywordsResult",
                            {
                                __typename: "XDTTypeaheadSearchOverfetchedKeywords";
                                key: string;
                                keywords: readonly {
                                    id: string;
                                    name: string;
                                    user?: | {
                                        full_name?: (...)
                                        | (...);
                                        id: string;
                                        is_private?: (...) | (...) | (...);
                                        is_verified?: (...) | (...) | (...);
                                        latest_reel_media?: (...) | (...) | (...);
                                        profile_pic_url?: (...) | (...);
                                        search_serp_type?: (...) | (...) | (...);
                                        username: string;
                                    }
                                    | null;
                                }[];
                                num_keywords_to_show?: number;
                                query_text: string;
                            },
                            {
                                __typename: "XDTTypeaheadSearchOverfetchedKeywords";
                                key: string;
                                keywords: readonly {
                                    id: string;
                                    name: string;
                                    user?: | {
                                        full_name?: (...)
                                        | (...);
                                        id: string;
                                        is_private?: (...) | (...) | (...);
                                        is_verified?: (...) | (...) | (...);
                                        latest_reel_media?: (...) | (...) | (...);
                                        profile_pic_url?: (...) | (...);
                                        search_serp_type?: (...) | (...) | (...);
                                        username: string;
                                    }
                                    | null;
                                }[];
                                num_keywords_to_show?: number;
                                query_text: string;
                            },
                            Record<never, never>,
                            never,
                            never,
                            {},
                            undefined,
                            never,
                        >;
                        XDTTypeaheadSearchUser: ScreenItemDefinition<
                            "SearchInputUserResult",
                            {
                                __typename: "XDTTypeaheadSearchUser";
                                key: string;
                                rank_token?: string;
                                user: {
                                    full_name?: string;
                                    id: string;
                                    is_private?: boolean;
                                    is_verified?: boolean;
                                    latest_reel_media?: number
                                    | null;
                                    profile_pic_url?: string;
                                    search_serp_type?: number | null;
                                    username: string;
                                };
                            },
                            {
                                __typename: "XDTTypeaheadSearchUser";
                                key: string;
                                rank_token?: string;
                                user: {
                                    full_name?: string;
                                    id: string;
                                    is_private?: boolean;
                                    is_verified?: boolean;
                                    latest_reel_media?: number
                                    | null;
                                    profile_pic_url?: string;
                                    search_serp_type?: number | null;
                                    username: string;
                                };
                            },
                            TypeaheadUserRowState,
                            never,
                            never,
                            {
                                openProfile: (
                                    self: ScreenHandle,
                                    state: TypeaheadUserRowState,
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<
                                        UserProfileDefinition,
                                        [],

                                            | "clips_profile"
                                            | "inbox"
                                            | "tab"
                                            | "cold_start"
                                            | "warm_start"
                                            | "button"
                                            | "search_result"
                                            | "inbox_new_message"
                                            | "suggested_users"
                                            | "third_party_url"
                                            | "message_button"
                                            | "camera_tab_bar"
                                            | "next",
                                        AndroidScreens,
                                    >,
                                    (
                                        ...args: [],
                                    ) => Effect<
                                        AssembledHandle<
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                            (...),
                                        >,

                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...),

                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...)
                                            | (...),
                                    >,
                                >;
                            },
                            undefined,
                            never,
                        >;
                    };
                };
            },
            never,
            never,
        >;
        SearchResultsAccountsTab: ScreenDefinition<
            "SearchResultsAccountsTab",
            "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,
            PlainJsonApiHttp | MobileDevice | NavigationWire | MobileNavigation,
            {},
            {
                results: {
                    at: "users";
                    item: ScreenItemDefinition<
                        "SearchResultsAccount",
                        {
                            fullName: string;
                            isPrivate: boolean;
                            isVerified: boolean;
                            userId: string;
                            username: string;
                        },
                        {
                            fullName: string;
                            isPrivate: boolean;
                            isVerified: boolean;
                            userId: string;
                            username: string;
                        },
                        SearchResultsAccountState,
                        never,
                        never,
                        {
                            openProfile: (
                                self: ScreenHandle,
                                state: SearchResultsAccountState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    UserProfileDefinition,
                                    [],

                                        | "clips_profile"
                                        | "inbox"
                                        | "tab"
                                        | "cold_start"
                                        | "warm_start"
                                        | "button"
                                        | "search_result"
                                        | "inbox_new_message"
                                        | "suggested_users"
                                        | "third_party_url"
                                        | "message_button"
                                        | "camera_tab_bar"
                                        | "next",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: [],
                                ) => Effect<
                                    AssembledHandle<
                                        "UserProfile",
                                        "screen",
                                        {
                                            backgroundFailures: ...;
                                            following?: ...;
                                            gridCursor?: ...;
                                            isPrivate: ...;
                                            media: ...;
                                            suggested: ...;
                                            userId: ...;
                                            username: ...;
                                        },
                                        ProfileActions,
                                        { grid: ...; suggestedUsers: ... },
                                        ScreenHandle,
                                        "required",
                                        true,
                                        "userId",
                                        AndroidScreens,
                                    >,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | SchemaError
                                        | GraphqlRootFieldMissingError
                                        | ScreenDataError
                                        | ScreenEnterConcurrentError
                                        | ScreenEdgeInputError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | NavigationWire
                                    | PlainNdjsonApiHttp
                                    | MobileNavigation
                                    | MobileUserFlows
                                    | MobileProcessMobileConfig
                                    | ScreenStack
                                    | AndroidThrottlingDetector
                                    | AndroidQuickPromotionStash
                                    | ScreenCatalog,
                                >,
                            >;
                        },
                        undefined,
                        never,
                    >;
                    key: "userId";
                    source: ScreenItemNodes;
                };
            },
            never,
            never,
        >;
        SearchResultsTopTab: ScreenDefinition<
            "SearchResultsTopTab",
            "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,

                | PlainJsonApiHttp
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation,
            {
                openUsers: (
                    self: ScreenHandle,
                    state: {
                        query: string;
                        session: {
                            clientUuidRankToken?: string;
                            searchSessionId: string;
                            serpSessionId: string;
                            typeaheadSessionId?: string;
                        };
                    },
                ) => ScreenEdgeBound<
                    ScreenEdgeShape<
                        ScreenDefinition<
                            "SearchResultsAccountsTab",
                            "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,
                            PlainJsonApiHttp | MobileDevice | NavigationWire | MobileNavigation,
                            {},
                            {
                                results: {
                                    at: "users";
                                    item: ScreenItemDefinition<
                                        "SearchResultsAccount",
                                        {
                                            fullName: string;
                                            isPrivate: boolean;
                                            isVerified: boolean;
                                            userId: string;
                                            username: string;
                                        },
                                        {
                                            fullName: string;
                                            isPrivate: boolean;
                                            isVerified: boolean;
                                            userId: string;
                                            username: string;
                                        },
                                        SearchResultsAccountState,
                                        never,
                                        never,
                                        { openProfile: (self: ..., state: ...) => ... },
                                        undefined,
                                        never,
                                    >;
                                    key: "userId";
                                    source: ScreenItemNodes;
                                };
                            },
                            never,
                            never,
                        >,
                        [],
                        "search_result",
                        AndroidScreens,
                    >,
                    (
                        ...args: [],
                    ) => Effect<
                        AssembledHandle<
                            "SearchResultsAccountsTab",
                            "innerTab",
                            {
                                users: readonly {
                                    fullName: string;
                                    isPrivate: boolean;
                                    isVerified: boolean;
                                    userId: string;
                                    username: string;
                                }[];
                            },
                            {},
                            {
                                results: {
                                    at: "users";
                                    item: ScreenItemDefinition<
                                        "SearchResultsAccount",
                                        {
                                            fullName: ...;
                                            isPrivate: ...;
                                            isVerified: ...;
                                            userId: ...;
                                            username: ...;
                                        },
                                        {
                                            fullName: ...;
                                            isPrivate: ...;
                                            isVerified: ...;
                                            userId: ...;
                                            username: ...;
                                        },
                                        SearchResultsAccountState,
                                        never,
                                        never,
                                        { openProfile: ... },
                                        undefined,
                                        never,
                                    >;
                                    key: "userId";
                                    source: ScreenItemNodes;
                                };
                            },
                            ScreenHandle,
                            "required",
                            true,
                            never,
                            AndroidScreens,
                        >,
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                        | PlainJsonApiHttp
                        | MobileDevice
                        | NavigationWire
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog,
                    >,
                >;
            },
            Record<never, never>,
            never,
            never,
        >;
        UserProfile: UserProfileDefinition;
        UserProfileReelsTab: ScreenDefinition<
            "UserProfileReelsTab",
            "screen",
            { userId: string },
            {
                clips: readonly {
                    code: string;
                    id: string;
                    media_type: number;
                    organic_tracking_token?: string;
                    pk: string;
                    taken_at?: number;
                    user?: { id?: string; pk?: string };
                    video_duration?: number;
                }[];
            },
            {
                clips: readonly {
                    code: string;
                    id: string;
                    media_type: number;
                    organic_tracking_token?: string;
                    pk: string;
                    taken_at?: number;
                    user?: { id?: string; pk?: string };
                    video_duration?: number;
                }[];
            },
            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | SchemaError
            | GraphqlRootFieldMissingError,
            | MobileSession
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation
            | AndroidThrottlingDetector,
            {},
            {
                clips: {
                    at: "clips";
                    item: ScreenItemDefinition<
                        "UserProfileReelsTabClip",
                        {
                            code: string;
                            id: string;
                            media_type: number;
                            organic_tracking_token?: string;
                            pk: string;
                            taken_at?: number;
                            user?: { id?: string; pk?: string };
                            video_duration?: number;
                        },
                        {
                            code: string;
                            id: string;
                            media_type: number;
                            organic_tracking_token?: string;
                            pk: string;
                            taken_at?: number;
                            user?: { id?: string; pk?: string };
                            video_duration?: number;
                        },
                        UserProfileReelsTabClipState,
                        never,
                        never,
                        {
                            open: (
                                self: ScreenHandle,
                                state: UserProfileReelsTabClipState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ReelsViewerScreenDefinition,
                                    [],
                                    "clips_profile",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: [],
                                ) => Effect<
                                    AssembledHandle<
                                        "ReelsViewer",
                                        "tab",
                                        { entries: ...; next?: ...; opensOnOneReel?: ... },
                                        (...) & (...) & (...),
                                        ScreenFeedItems<(...)>,
                                        ScreenHandle,
                                        "required",
                                        true,
                                        never,
                                        AndroidScreens,
                                    >,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError
                                        | ScreenEnterConcurrentError
                                        | ScreenEdgeInputError,
                                    | PlainJsonApiHttp
                                    | Signature
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | NavigationWire
                                    | MobileNavigation
                                    | MobileUserFlows
                                    | ScreenStack
                                    | AndroidThrottlingDetector
                                    | AndroidClientAddress
                                    | ScreenCatalog,
                                >,
                            >;
                        },
                        {
                            clips: readonly {
                                code: string;
                                id: string;
                                media_type: number;
                                organic_tracking_token?: string;
                                pk: string;
                                taken_at?: number;
                                user?: { id?: string; pk?: string };
                                video_duration?: number;
                            }[];
                        },
                        never,
                    >;
                    key: "code";
                    source: ScreenItemNodes;
                };
            },
            never,
            never,
        >;
        get ChallengeAccountSuspended(): ScreenDefinition<
            "ChallengeAccountSuspended",
            "screen",
            {
                body: string;
                disagreeWithDecisionLabel: string;
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                title: string;
            },
            {
                body: string;
                disagreeWithDecisionLabel: string;
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                title: string;
            },
            {
                body: string;
                disagreeWithDecisionLabel: string;
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                title: string;
            },
            never,
            MobileNavigation,
            ChallengeAccountSuspendedActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeAccountTemporarilyLocked(): ScreenDefinition<
            "ChallengeAccountTemporarilyLocked",
            "screen",
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeAccountTemporarilyLockedActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeAddBirthday(): ScreenDefinition<
            "ChallengeAddBirthday",
            "screen",
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeAddBirthdayActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeAuthenticityWizard(): ScreenDefinition<
            "ChallengeAuthenticityWizard",
            "screen",
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
            },
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
            },
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
            },
            never,
            MobileNavigation,
            ChallengeAuthenticityWizardActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeAwaitingReview(): ScreenDefinition<
            "ChallengeAwaitingReview",
            "screen",
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
            },
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
            },
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
            },
            never,
            MobileNavigation,
            ChallengeAwaitingReviewActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeContactPointCode(): ScreenDefinition<
            "ChallengeContactPointCode",
            "screen",
            {
                changeContactPointParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                contactPointPreview: string;
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                resendCodeParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                submitCodeParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
            },
            {
                changeContactPointParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                contactPointPreview: string;
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                resendCodeParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                submitCodeParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
            },
            {
                changeContactPointParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                contactPointPreview: string;
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                resendCodeParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                submitCodeParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeContactPointCodeActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeEscalationInformation(): ScreenDefinition<
            "ChallengeEscalationInformation",
            "screen",
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeEscalationInformationActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeLoginReview(): ScreenDefinition<
            "ChallengeLoginReview",
            "screen",
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeLoginReviewActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeRecaptcha(): ScreenDefinition<
            "ChallengeRecaptcha",
            "screen",
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                siteKey: string;
                url: string;
            },
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                siteKey: string;
                url: string;
            },
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
                siteKey: string;
                url: string;
            },
            never,
            MobileNavigation,
            ChallengeRecaptchaActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeReviewContactPointChange(): ScreenDefinition<
            "ChallengeReviewContactPointChange",
            "screen",
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeReviewContactPointChangeActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeScrapingWarning(): ScreenDefinition<
            "ChallengeScrapingWarning",
            "screen",
            | {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
                surface: "navigation";
            }
            | {
                resolved: {
                    appId: string;
                    challengeType: string;
                    dismissAppId?: string;
                    serverParams: {
                        INTERNAL__latency_qpl_instance_id: number;
                        INTERNAL__latency_qpl_marker_id: number;
                    };
                };
                surface: "redirect";
            },
            | {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
                surface: "navigation";
            }
            | {
                resolved: {
                    appId: string;
                    challengeType: string;
                    dismissAppId?: string;
                    serverParams: {
                        INTERNAL__latency_qpl_instance_id: number;
                        INTERNAL__latency_qpl_marker_id: number;
                    };
                };
                surface: "redirect";
            },
            | {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
                surface: "navigation";
            }
            | {
                resolved: {
                    appId: string;
                    challengeType: string;
                    dismissAppId?: string;
                    serverParams: {
                        INTERNAL__latency_qpl_instance_id: number;
                        INTERNAL__latency_qpl_marker_id: number;
                    };
                };
                surface: "redirect";
            },
            never,
            MobileNavigation,
            ChallengeScrapingWarningActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeSelectVerifyMethod(): ScreenDefinition<
            "ChallengeSelectVerifyMethod",
            "screen",
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeSelectVerifyMethodActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeSetContactPoint(): ScreenDefinition<
            "ChallengeSetContactPoint",
            "screen",
            {
                contactPointType: "EMAIL"
                | "SMS";
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
            },
            {
                contactPointType: "EMAIL"
                | "SMS";
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
            },
            {
                contactPointType: "EMAIL"
                | "SMS";
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeSetContactPointActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeSetNewPassword(): ScreenDefinition<
            "ChallengeSetNewPassword",
            "screen",
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeSetNewPasswordActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeSubmitPhone(): ScreenDefinition<
            "ChallengeSubmitPhone",
            "screen",
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeSubmitPhoneActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeTextCaptcha(): ScreenDefinition<
            "ChallengeTextCaptcha",
            "screen",
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                imageUrl: string;
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
            },
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                imageUrl: string;
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
            },
            {
                flow: {
                    authenticity_product?: number;
                    challenge_root_id?: string;
                    enrollment_id?: string;
                    external_flow_id?: string;
                    hashed_ui_state?: string;
                    ig_container_module?: string;
                    is_blocking?: number;
                    ixt_initial_screen_id?: string;
                    location?: string;
                    trigger_event_type?: string;
                    trigger_session_id?: string;
                    v2_polling?: number;
                };
                imageUrl: string;
                serverParams: {
                    challenge_root_id?: string;
                    INTERNAL__latency_qpl_instance_id?: string;
                    INTERNAL__latency_qpl_marker_id: number;
                    persisted_data?: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeTextCaptchaActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeThanksForProvidingInfo(): ScreenDefinition<
            "ChallengeThanksForProvidingInfo",
            "screen",
            undefined,
            {},
            {},
            never,
            MobileNavigation,
            ChallengeThanksForProvidingInfoActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeVerifyCode(): ScreenDefinition<
            "ChallengeVerifyCode",
            "screen",
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            {
                step: {
                    bloks_action: string;
                    challenge_context: string;
                    cni: string;
                    flow_render_type: 3;
                    step_data?: { readonly [key: string]: Json };
                    step_name: string;
                };
            },
            never,
            MobileNavigation,
            ChallengeVerifyCodeActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeWebRecaptcha(): ScreenDefinition<
            "ChallengeWebRecaptcha",
            "screen",
            { url: string },
            { url: string },
            { url: string },
            never,
            MobileNavigation,
            ChallengeWebRecaptchaActions,
            Record<never, never>,
            never,
            never,
        >;
        get ChallengeWebSetNewPassword(): ScreenDefinition<
            "ChallengeWebSetNewPassword",
            "screen",
            { url: string },
            { url: string },
            { url: string },
            never,
            MobileNavigation,
            ChallengeWebSetNewPasswordActions,
            Record<never, never>,
            never,
            never,
        >;
    }

    Hierarchy

    • ChallengeScreens
      • AndroidScreens
    Index

    Accessors

    Properties

    Accessors

    • get ChallengeAccountSuspended(): ScreenDefinition<
          "ChallengeAccountSuspended",
          "screen",
          {
              body: string;
              disagreeWithDecisionLabel: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              title: string;
          },
          {
              body: string;
              disagreeWithDecisionLabel: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              title: string;
          },
          {
              body: string;
              disagreeWithDecisionLabel: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              title: string;
          },
          never,
          MobileNavigation,
          ChallengeAccountSuspendedActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeAccountSuspended",
          "screen",
          {
              body: string;
              disagreeWithDecisionLabel: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              title: string;
          },
          {
              body: string;
              disagreeWithDecisionLabel: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              title: string;
          },
          {
              body: string;
              disagreeWithDecisionLabel: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              title: string;
          },
          never,
          MobileNavigation,
          ChallengeAccountSuspendedActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeAccountTemporarilyLocked(): ScreenDefinition<
          "ChallengeAccountTemporarilyLocked",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeAccountTemporarilyLockedActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeAccountTemporarilyLocked",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeAccountTemporarilyLockedActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeAddBirthday(): ScreenDefinition<
          "ChallengeAddBirthday",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeAddBirthdayActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeAddBirthday",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeAddBirthdayActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeAuthenticityWizard(): ScreenDefinition<
          "ChallengeAuthenticityWizard",
          "screen",
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          never,
          MobileNavigation,
          ChallengeAuthenticityWizardActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeAuthenticityWizard",
          "screen",
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          never,
          MobileNavigation,
          ChallengeAuthenticityWizardActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeAwaitingReview(): ScreenDefinition<
          "ChallengeAwaitingReview",
          "screen",
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          never,
          MobileNavigation,
          ChallengeAwaitingReviewActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeAwaitingReview",
          "screen",
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
          },
          never,
          MobileNavigation,
          ChallengeAwaitingReviewActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeContactPointCode(): ScreenDefinition<
          "ChallengeContactPointCode",
          "screen",
          {
              changeContactPointParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              contactPointPreview: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              resendCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              submitCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              changeContactPointParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              contactPointPreview: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              resendCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              submitCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              changeContactPointParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              contactPointPreview: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              resendCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              submitCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeContactPointCodeActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeContactPointCode",
          "screen",
          {
              changeContactPointParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              contactPointPreview: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              resendCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              submitCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              changeContactPointParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              contactPointPreview: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              resendCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              submitCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              changeContactPointParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              contactPointPreview: string;
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              resendCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              submitCodeParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeContactPointCodeActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeEscalationInformation(): ScreenDefinition<
          "ChallengeEscalationInformation",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeEscalationInformationActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeEscalationInformation",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeEscalationInformationActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeLoginReview(): ScreenDefinition<
          "ChallengeLoginReview",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeLoginReviewActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeLoginReview",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeLoginReviewActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeRecaptcha(): ScreenDefinition<
          "ChallengeRecaptcha",
          "screen",
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              siteKey: string;
              url: string;
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              siteKey: string;
              url: string;
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              siteKey: string;
              url: string;
          },
          never,
          MobileNavigation,
          ChallengeRecaptchaActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeRecaptcha",
          "screen",
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              siteKey: string;
              url: string;
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              siteKey: string;
              url: string;
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
              siteKey: string;
              url: string;
          },
          never,
          MobileNavigation,
          ChallengeRecaptchaActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeReviewContactPointChange(): ScreenDefinition<
          "ChallengeReviewContactPointChange",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeReviewContactPointChangeActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeReviewContactPointChange",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeReviewContactPointChangeActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeScrapingWarning(): ScreenDefinition<
          "ChallengeScrapingWarning",
          "screen",
          | {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
              surface: "navigation";
          }
          | {
              resolved: {
                  appId: string;
                  challengeType: string;
                  dismissAppId?: string;
                  serverParams: {
                      INTERNAL__latency_qpl_instance_id: number;
                      INTERNAL__latency_qpl_marker_id: number;
                  };
              };
              surface: "redirect";
          },
          | {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
              surface: "navigation";
          }
          | {
              resolved: {
                  appId: string;
                  challengeType: string;
                  dismissAppId?: string;
                  serverParams: {
                      INTERNAL__latency_qpl_instance_id: number;
                      INTERNAL__latency_qpl_marker_id: number;
                  };
              };
              surface: "redirect";
          },
          | {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
              surface: "navigation";
          }
          | {
              resolved: {
                  appId: string;
                  challengeType: string;
                  dismissAppId?: string;
                  serverParams: {
                      INTERNAL__latency_qpl_instance_id: number;
                      INTERNAL__latency_qpl_marker_id: number;
                  };
              };
              surface: "redirect";
          },
          never,
          MobileNavigation,
          ChallengeScrapingWarningActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeScrapingWarning",
          "screen",
          | {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
              surface: "navigation";
          }
          | {
              resolved: {
                  appId: string;
                  challengeType: string;
                  dismissAppId?: string;
                  serverParams: {
                      INTERNAL__latency_qpl_instance_id: number;
                      INTERNAL__latency_qpl_marker_id: number;
                  };
              };
              surface: "redirect";
          },
          | {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
              surface: "navigation";
          }
          | {
              resolved: {
                  appId: string;
                  challengeType: string;
                  dismissAppId?: string;
                  serverParams: {
                      INTERNAL__latency_qpl_instance_id: number;
                      INTERNAL__latency_qpl_marker_id: number;
                  };
              };
              surface: "redirect";
          },
          | {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
              surface: "navigation";
          }
          | {
              resolved: {
                  appId: string;
                  challengeType: string;
                  dismissAppId?: string;
                  serverParams: {
                      INTERNAL__latency_qpl_instance_id: number;
                      INTERNAL__latency_qpl_marker_id: number;
                  };
              };
              surface: "redirect";
          },
          never,
          MobileNavigation,
          ChallengeScrapingWarningActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeSelectVerifyMethod(): ScreenDefinition<
          "ChallengeSelectVerifyMethod",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeSelectVerifyMethodActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeSelectVerifyMethod",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeSelectVerifyMethodActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeSetContactPoint(): ScreenDefinition<
          "ChallengeSetContactPoint",
          "screen",
          {
              contactPointType: "EMAIL"
              | "SMS";
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              contactPointType: "EMAIL"
              | "SMS";
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              contactPointType: "EMAIL"
              | "SMS";
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeSetContactPointActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeSetContactPoint",
          "screen",
          {
              contactPointType: "EMAIL"
              | "SMS";
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              contactPointType: "EMAIL"
              | "SMS";
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              contactPointType: "EMAIL"
              | "SMS";
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeSetContactPointActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeSetNewPassword(): ScreenDefinition<
          "ChallengeSetNewPassword",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeSetNewPasswordActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeSetNewPassword",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeSetNewPasswordActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeSubmitPhone(): ScreenDefinition<
          "ChallengeSubmitPhone",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeSubmitPhoneActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeSubmitPhone",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeSubmitPhoneActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeTextCaptcha(): ScreenDefinition<
          "ChallengeTextCaptcha",
          "screen",
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              imageUrl: string;
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              imageUrl: string;
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              imageUrl: string;
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeTextCaptchaActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeTextCaptcha",
          "screen",
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              imageUrl: string;
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              imageUrl: string;
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          {
              flow: {
                  authenticity_product?: number;
                  challenge_root_id?: string;
                  enrollment_id?: string;
                  external_flow_id?: string;
                  hashed_ui_state?: string;
                  ig_container_module?: string;
                  is_blocking?: number;
                  ixt_initial_screen_id?: string;
                  location?: string;
                  trigger_event_type?: string;
                  trigger_session_id?: string;
                  v2_polling?: number;
              };
              imageUrl: string;
              serverParams: {
                  challenge_root_id?: string;
                  INTERNAL__latency_qpl_instance_id?: string;
                  INTERNAL__latency_qpl_marker_id: number;
                  persisted_data?: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeTextCaptchaActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeThanksForProvidingInfo(): ScreenDefinition<
          "ChallengeThanksForProvidingInfo",
          "screen",
          undefined,
          {},
          {},
          never,
          MobileNavigation,
          ChallengeThanksForProvidingInfoActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeThanksForProvidingInfo",
          "screen",
          undefined,
          {},
          {},
          never,
          MobileNavigation,
          ChallengeThanksForProvidingInfoActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeVerifyCode(): ScreenDefinition<
          "ChallengeVerifyCode",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeVerifyCodeActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeVerifyCode",
          "screen",
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          {
              step: {
                  bloks_action: string;
                  challenge_context: string;
                  cni: string;
                  flow_render_type: 3;
                  step_data?: { readonly [key: string]: Json };
                  step_name: string;
              };
          },
          never,
          MobileNavigation,
          ChallengeVerifyCodeActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeWebRecaptcha(): ScreenDefinition<
          "ChallengeWebRecaptcha",
          "screen",
          { url: string },
          { url: string },
          { url: string },
          never,
          MobileNavigation,
          ChallengeWebRecaptchaActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeWebRecaptcha",
          "screen",
          { url: string },
          { url: string },
          { url: string },
          never,
          MobileNavigation,
          ChallengeWebRecaptchaActions,
          Record<never, never>,
          never,
          never,
      >

    • get ChallengeWebSetNewPassword(): ScreenDefinition<
          "ChallengeWebSetNewPassword",
          "screen",
          { url: string },
          { url: string },
          { url: string },
          never,
          MobileNavigation,
          ChallengeWebSetNewPasswordActions,
          Record<never, never>,
          never,
          never,
      >

      Returns ScreenDefinition<
          "ChallengeWebSetNewPassword",
          "screen",
          { url: string },
          { url: string },
          { url: string },
          never,
          MobileNavigation,
          ChallengeWebSetNewPasswordActions,
          Record<never, never>,
          never,
          never,
      >

    Properties

    AccountRecoveryAuthenticationConfirmation: ScreenDefinition<
        "AccountRecoveryAuthenticationConfirmation",
        "screen",
        { identifier: string; ticket: string & Brand<"SearchTicket"> },
        { ticket: string & Brand<"CodeEntryTicket"> },
        { ticket: string & Brand<"CodeEntryTicket"> },
        BloksHttpError | AccountRecoveryBloksIssuedParamsMissingError,

            | MobileDevice
            | MobileApplication
            | BloksHttp
            | MobileDisplayScaleWire
            | MobileNavigation
            | AccountRecoveryTickets,
        {
            logInWithCode: (
                self: ScreenHandle,
                state: { ticket: string & Brand<"CodeEntryTicket"> },
            ) => (
                ...args: [code: string],
            ) => Effect<
                AccountRecoveryFirstScreen,
                | IgNotFoundError
                | IgRateLimitError
                | IgSpamError
                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgCookieConsentRequiredError
                | IgLoginRequiredError
                | IgUserLoggedOutError
                | IgPrivateUserError
                | IgInactiveUserError
                | IgSentryBlockError
                | IgIpBlockError
                | IgLoginTwoFactorRequiredError
                | RequestError
                | ParseError
                | TransportError
                | LoginBloksParseError
                | IgBloks429Error
                | AccountRecoveryBloksIssuedParamsMissingError
                | AccountRecoveryBloksUnknownResponseError
                | ScreenDataError
                | ScreenEnterConcurrentError
                | AppAlreadyStartedError,
                | MobileSession
                | MobileDevice
                | MobileApplication
                | SessionHeaderParser
                | BloksHttp
                | MobileDisplayScaleWire
                | MobileNavigation
                | ScreenStack
                | AccountRecoveryTickets,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    AccountRecoveryEmailCode: ScreenDefinition<
        "AccountRecoveryEmailCode",
        "screen",
        undefined,
        {
            maskedContact?: string;
            ticket: string & Brand<"LastResortCodeEntryTicket">;
        },
        {
            maskedContact?: string;
            ticket: string & Brand<"LastResortCodeEntryTicket">;
        },
        BloksHttpError
        | AccountRecoveryBloksIssuedParamsMissingError,

            | MobileSession
            | MobileDevice
            | MobileApplication
            | BloksHttp
            | MobileDisplayScaleWire
            | MobileNavigation
            | AccountRecoveryTickets,
        {
            requestNewCode: (
                self: ScreenHandle,
                state: {
                    maskedContact?: string;
                    ticket: string & Brand<"LastResortCodeEntryTicket">;
                },
            ) => (
                ...args: [],
            ) => Effect<
                AccountRecoveryFirstScreen
                | ActionValue<undefined>,

                    | IgNotFoundError
                    | IgRateLimitError
                    | IgSpamError
                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgCookieConsentRequiredError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | IgPrivateUserError
                    | IgInactiveUserError
                    | IgSentryBlockError
                    | IgIpBlockError
                    | IgLoginTwoFactorRequiredError
                    | RequestError
                    | ParseError
                    | TransportError
                    | LoginBloksParseError
                    | IgBloks429Error
                    | AccountRecoveryBloksUnknownResponseError
                    | AccountRecoveryBloksInvalidCodeError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | AppAlreadyStartedError,
                | MobileSession
                | MobileDevice
                | MobileApplication
                | SessionHeaderParser
                | BloksHttp
                | MobileDisplayScaleWire
                | MobileNavigation
                | ScreenStack
                | AccountRecoveryTickets,
            >;
            submitCode: (
                self: ScreenHandle,
                state: {
                    maskedContact?: string;
                    ticket: string & Brand<"LastResortCodeEntryTicket">;
                },
            ) => (
                ...args: [code: string],
            ) => Effect<
                AccountRecoveryFirstScreen,
                | IgNotFoundError
                | IgRateLimitError
                | IgSpamError
                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgCookieConsentRequiredError
                | IgLoginRequiredError
                | IgUserLoggedOutError
                | IgPrivateUserError
                | IgInactiveUserError
                | IgSentryBlockError
                | IgIpBlockError
                | IgLoginTwoFactorRequiredError
                | RequestError
                | ParseError
                | TransportError
                | LoginBloksParseError
                | IgBloks429Error
                | AccountRecoveryBloksUnknownResponseError
                | AccountRecoveryBloksInvalidCodeError
                | ScreenDataError
                | ScreenEnterConcurrentError
                | AppAlreadyStartedError,
                | MobileSession
                | MobileDevice
                | MobileApplication
                | SessionHeaderParser
                | BloksHttp
                | MobileDisplayScaleWire
                | MobileNavigation
                | ScreenStack
                | AccountRecoveryTickets,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    AccountRecoverySearch: ScreenDefinition<
        "AccountRecoverySearch",
        "screen",
        { aac: string; ticket?: string & Brand<"RecoveryActionTicket"> },
        {
            aac: string;
            searchScreenType: string;
            searchTicket: string & Brand<"SearchTicket">;
            textInputId: string;
            waterfallId: string;
        },
        {
            aac: string;
            searchScreenType: string;
            searchTicket: string & Brand<"SearchTicket">;
            textInputId: string;
            waterfallId: string;
        },
        BloksHttpError
        | AccountRecoveryBloksIssuedParamsMissingError,

            | MobileDevice
            | MobileApplication
            | BloksHttp
            | MobileDisplayScaleWire
            | MobileNavigation
            | AccountRecoveryTickets,
        {
            findAccount: (
                self: ScreenHandle,
                state: {
                    aac: string;
                    searchScreenType: string;
                    searchTicket: string & Brand<"SearchTicket">;
                    textInputId: string;
                    waterfallId: string;
                },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "AccountRecoveryAuthenticationConfirmation",
                        "screen",
                        { identifier: string; ticket: string & Brand<"SearchTicket"> },
                        { ticket: string & Brand<"CodeEntryTicket"> },
                        { ticket: string & Brand<"CodeEntryTicket"> },
                        BloksHttpError | AccountRecoveryBloksIssuedParamsMissingError,

                            | MobileDevice
                            | MobileApplication
                            | BloksHttp
                            | MobileDisplayScaleWire
                            | MobileNavigation
                            | AccountRecoveryTickets,
                        {
                            logInWithCode: (
                                self: ScreenHandle,
                                state: { ticket: string & Brand<(...)> },
                            ) => (
                                ...args: [code: string],
                            ) => Effect<
                                AccountRecoveryFirstScreen,
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    readonly [string],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: readonly [string],
                ) => Effect<
                    AssembledHandle<
                        "AccountRecoveryAuthenticationConfirmation",
                        "screen",
                        { ticket: string & Brand<"CodeEntryTicket"> },
                        {
                            logInWithCode: (
                                self: ScreenHandle,
                                state: { ticket: (...) & (...) },
                            ) => (...args: [code: ...]) => Effect<(...), (...), (...)>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | BloksHttpError
                        | AccountRecoveryBloksIssuedParamsMissingError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | MobileDevice
                    | MobileApplication
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | AccountRecoveryTickets,
                >,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    AccountRecoverySuccessLocationPermission: ScreenDefinition<
        "AccountRecoverySuccessLocationPermission",
        "screen",
        undefined,
        {},
        Record<never, never>,

            | IgCheckpointError
            | IgAccountSuspendedError
            | IgAccountDisabledError
            | IgLoginRequiredError
            | IgUserLoggedOutError,
        PlainJsonApiHttp
        | MobileNavigation,
        {
            close: (
                self: ScreenHandle,
                _state: never,
            ) => () => Effect<
                ScreenFrameHandle
                | undefined,
                ScreenEnterConcurrentError,
                MobileNavigation | ScreenStack,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    DirectCustomizeChat: ScreenDefinition<
        "DirectCustomizeChat",
        "screen",
        { thread_v2_id: string },
        { thread_v2_id: string },
        { thread_v2_id: string },
        never,
        MobileNavigation,
        {
            openThemePicker: (
                self: ScreenHandle,
                state: { thread_v2_id: string },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "DirectThreadThemePicker",
                        "screen",
                        { thread_v2_id: string },
                        { themes: readonly { name: string; theme_id: string }[] },
                        { thread_v2_id: string },
                        IgApiError | RequestError | ParseError | TransportError,

                            | PlainJsonApiHttp
                            | GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation
                            | AndroidThrottlingDetector,
                        {},
                        {
                            themes: {
                                at: "themes";
                                item: ScreenItemDefinition<
                                    "DirectTheme",
                                    { name: string; theme_id: string },
                                    { name: string; theme_id: string },
                                    DirectThemeState,
                                    never,
                                    never,
                                    { setTheme: (self: ..., state: ...) => ... },
                                    { thread_v2_id: string },
                                    never,
                                >;
                                key: "theme_id";
                                source: ScreenItemNodes;
                            };
                        },
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "DirectThreadThemePicker",
                        "screen",
                        { themes: readonly { name: string; theme_id: string }[] },
                        {},
                        {
                            themes: {
                                at: "themes";
                                item: ScreenItemDefinition<
                                    "DirectTheme",
                                    { name: ...; theme_id: ... },
                                    { name: ...; theme_id: ... },
                                    DirectThemeState,
                                    never,
                                    never,
                                    { setTheme: ... },
                                    { thread_v2_id: ... },
                                    never,
                                >;
                                key: "theme_id";
                                source: ScreenItemNodes;
                            };
                        },
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError,
                    | PlainJsonApiHttp
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack
                    | AndroidThrottlingDetector
                    | ScreenCatalog,
                >,
            >;
        },
        Record<never, never>,
        never,
        "thread_v2_id",
    >
    DirectGroupNameAndPhotoEditor: ScreenDefinition<
        "DirectGroupNameAndPhotoEditor",
        "screen",
        { is_group: boolean; thread_title: string; thread_v2_id: string },
        { is_group: boolean; thread_title: string; thread_v2_id: string },
        { is_group: boolean; thread_title: string; thread_v2_id: string },
        never,
        MobileNavigation,
        {
            changeName: (
                self: ScreenHandle,
                state: { is_group: boolean; thread_title: string; thread_v2_id: string },
            ) => (
                ...args: [name: string],
            ) => Effect<
                DirectThreadUpdateTitleResponse & { raw: ActionRaw },

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenEnterConcurrentError,
                PlainJsonApiHttp
                | MobileDevice
                | MobileNavigation
                | ScreenStack,
            >;
        },
        Record<never, never>,
        never,
        "thread_v2_id",
    >
    DirectInbox: ScreenDefinition<
        "DirectInbox",
        "tab",
        undefined,
        {
            threads: readonly {
                is_group: boolean;
                last_activity_at: string;
                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;
                }[];
            }[];
        },
        Record<never, never>,
        IgApiError | RequestError | ParseError | TransportError | SchemaError,

            | PlainJsonApiHttp
            | Signature
            | MobileSession
            | MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation
            | AndroidDirectSurface,
        {
            openNewMessage: (
                self: ScreenHandle,
                state: Record<never, never>,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    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?: ...;
                                    item_id: ...;
                                    item_type: ...;
                                    media?: ...;
                                    text?: ...;
                                    timestamp: ...;
                                    user_id: ...;
                                }[];
                                thread_id: string;
                                thread_title: string;
                                thread_v2_id?: string;
                                users: readonly {
                                    fbid_v2?: ...;
                                    full_name: ...;
                                    pk: ...;
                                    username: ...;
                                }[];
                            }[];
                        },
                        { 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 (...)[]],
                            ) => Effect<
                                AssembledHandle<
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                    (...),
                                >,
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                            >;
                            openCreatedThread: ActionEdge<
                                (
                                    self: ScreenHandle,
                                    state: { mode: (...) | (...); searchSessionId: string },
                                ) => ScreenEdgeBound<
                                    ScreenEdgeShape<(...), (...), (...), (...)>,
                                    (...args: ...) => ...,
                                >,
                            >;
                            search: (
                                self: ScreenHandle,
                                state: { mode: "default" | "group"; searchSessionId: string },
                            ) => (
                                ...args: [query: string],
                            ) => Effect<
                                (...) & (...),
                                (...) | (...) | (...) | (...) | (...) | (...),
                                (...) | (...) | (...),
                            >;
                            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 searchSessi...
                                ),
                                () => Effect<(...), (...), (...)>,
                            >;
                        },
                        {
                            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: ..., state: ...) => ... },
                                    undefined,
                                    never,
                                >;
                                key: "pk";
                                source: ScreenItemNodes;
                            };
                            threads: {
                                at: "threads";
                                item: ScreenItemDefinition<
                                    "DirectPickerThread",
                                    {
                                        is_group: boolean;
                                        muted?: (...)
                                        | (...)
                                        | (...);
                                        preview: readonly (...)[];
                                        thread_id: string;
                                        thread_title: string;
                                        thread_v2_id?: (...) | (...);
                                        users: readonly (...)[];
                                    },
                                    {
                                        is_group: boolean;
                                        muted?: (...)
                                        | (...)
                                        | (...);
                                        preview: readonly (...)[];
                                        thread_id: string;
                                        thread_title: string;
                                        thread_v2_id?: (...) | (...);
                                        users: readonly (...)[];
                                    },
                                    {
                                        thread: {
                                            is_group: ...;
                                            muted?: ...;
                                            preview: ...;
                                            thread_id: ...;
                                            thread_title: ...;
                                            thread_v2_id?: ...;
                                            users: ...;
                                        };
                                    },
                                    never,
                                    never,
                                    { openThread: (self: ..., state: ...) => ... },
                                    undefined,
                                    never,
                                >;
                                key: "thread_id";
                                source: ScreenItemNodes;
                            };
                        },
                        never,
                        never,
                    >,
                    [],
                    "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 (...)[];
                            }[];
                        },
                        {
                            createGroup: (
                                self: ScreenHandle,
                                state: { mode: (...) | (...); searchSessionId: string },
                            ) => (...args: [rows: ...]) => Effect<(...), (...), (...)>;
                            openCreatedThread: ActionEdge<
                                (
                                    self: ScreenHandle,
                                    state: { mode: ...; searchSessionId: ... },
                                ) => ScreenEdgeBound<(...), (...)>,
                            >;
                            search: (
                                self: ScreenHandle,
                                state: { mode: (...) | (...); searchSessionId: string },
                            ) => (...args: [query: ...]) => Effect<(...), (...), (...)>;
                            startGroupChat: (
                                self: ScreenHandle,
                                state: { mode: (...) | (...); searchSessionId: string },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                () => ...,
                            >;
                        },
                        {
                            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,
                >,
            >;
        },
        {
            threads: {
                at: "threads";
                item: ScreenItemDefinition<
                    "DirectInboxThread",
                    {
                        is_group: boolean;
                        last_activity_at: string;
                        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;
                        last_activity_at: string;
                        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,
                    {
                        open: (
                            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",
                                AndroidScreens,
                            >,
                            () => 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_v2_id";
                source: ScreenItemNodes;
            };
        },
        never,
        never,
    >
    DirectRecipientPicker: 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,
    >
    DirectThread: ScreenDefinition<
        "DirectThread",
        "screen",
        | {
            kind: "thread";
            send_attribution?: | "inbox"
            | "inbox_new_message"
            | "message_button"
            | "direct_thread_creation_omnipicker";
            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 { 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;
                }[];
            };
        }
        | {
            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: 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: 1
                    | 2; pk: string; url: string }[];
                }
            )[];
            messages: 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: 1
                    | 2; pk: string; url: string }[];
                };
                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;
            }[];
        },
        | {
            has_messages: boolean;
            is_group: false;
            ordinal_reserved?: boolean;
            participants: readonly {
                fbid_v2?: string;
                full_name: string;
                pk: string;
                username: string;
            }[];
            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?: string;
                full_name: string;
                pk: string;
                username: string;
            }[];
            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: boolean;
                        is_group: false;
                        ordinal_reserved?: boolean;
                        participants: readonly {
                            fbid_v2?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                        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?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                        send_attribution?: | "inbox"
                        | "inbox_new_message"
                        | "message_button"
                        | "direct_thread_creation_omnipicker";
                        thread_id: string;
                        thread_title: string;
                        thread_v2_id?: string;
                    },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "DirectCustomizeChat",
                        "screen",
                        { thread_v2_id: string },
                        { thread_v2_id: string },
                        { thread_v2_id: string },
                        never,
                        MobileNavigation,
                        {
                            openThemePicker: (
                                self: ScreenHandle,
                                state: { thread_v2_id: string },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                (...args: []) => Effect<(...), (...), (...)>,
                            >;
                        },
                        Record<never, never>,
                        never,
                        "thread_v2_id",
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "DirectCustomizeChat",
                        "screen",
                        { thread_v2_id: string },
                        {
                            openThemePicker: (
                                self: ScreenHandle,
                                state: { thread_v2_id: string },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                (...args: ...) => ...,
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        "thread_v2_id",
                        AndroidScreens,
                    >,
                    ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                    MobileNavigation | ScreenStack | ScreenCatalog,
                >,
            >;
            openThreadDetails: (
                self: ScreenHandle,
                state:
                    | {
                        has_messages: boolean;
                        is_group: false;
                        ordinal_reserved?: boolean;
                        participants: readonly {
                            fbid_v2?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                        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?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                        send_attribution?: | "inbox"
                        | "inbox_new_message"
                        | "message_button"
                        | "direct_thread_creation_omnipicker";
                        thread_id: string;
                        thread_title: string;
                        thread_v2_id?: string;
                    },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "DirectThreadDetails",
                        "screen",
                        | {
                            is_group: false;
                            peer_user_fbid?: string;
                            peer_user_id?: string;
                            thread_title: string;
                            thread_v2_id: string;
                        }
                        | {
                            is_group: true;
                            lead_user_id?: string;
                            thread_title: string;
                            thread_v2_id: string;
                        },
                        | {
                            is_group: false;
                            peer_user_fbid?: string;
                            peer_user_id?: string;
                            thread_title: string;
                            thread_v2_id: string;
                        }
                        | {
                            is_group: true;
                            lead_user_id?: string;
                            thread_title: string;
                            thread_v2_id: string;
                        },
                        | {
                            is_group: false;
                            peer_user_fbid?: string;
                            peer_user_id?: string;
                            thread_title: string;
                            thread_v2_id: string;
                        }
                        | {
                            is_group: true;
                            lead_user_id?: string;
                            thread_title: string;
                            thread_v2_id: string;
                        },
                        IgApiError
                        | RequestError
                        | ParseError
                        | TransportError,

                            | PlainJsonApiHttp
                            | GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation,
                        {
                            openSharedMedia: (
                                self: ScreenHandle,
                                state:
                                    | {
                                        is_group: false;
                                        peer_user_fbid?: (...)
                                        | (...);
                                        peer_user_id?: (...) | (...);
                                        thread_title: string;
                                        thread_v2_id: string;
                                    }
                                    | {
                                        is_group: true;
                                        lead_user_id?: (...)
                                        | (...);
                                        thread_title: string;
                                        thread_v2_id: string;
                                    },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                (...args: []) => Effect<(...), (...), (...)>,
                            >;
                        },
                        Record<never, never>,
                        never,
                        "thread_v2_id",
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "DirectThreadDetails",
                        "screen",
                        | {
                            is_group: false;
                            peer_user_fbid?: string;
                            peer_user_id?: string;
                            thread_title: string;
                            thread_v2_id: string;
                        }
                        | {
                            is_group: true;
                            lead_user_id?: string;
                            thread_title: string;
                            thread_v2_id: string;
                        },
                        {
                            openSharedMedia: (
                                self: ScreenHandle,
                                state:
                                    | {
                                        is_group: ...;
                                        peer_user_fbid?: ...;
                                        peer_user_id?: ...;
                                        thread_title: ...;
                                        thread_v2_id: ...;
                                    }
                                    | {
                                        is_group: ...;
                                        lead_user_id?: ...;
                                        thread_title: ...;
                                        thread_v2_id: ...;
                                    },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                (...args: ...) => ...,
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        "thread_v2_id",
                        AndroidScreens,
                    >,

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | PlainJsonApiHttp
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog,
                >,
            >;
            sendMessage: (
                self: ScreenHandle,
                state:
                    | {
                        has_messages: boolean;
                        is_group: false;
                        ordinal_reserved?: boolean;
                        participants: readonly {
                            fbid_v2?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                        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?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                        send_attribution?: | "inbox"
                        | "inbox_new_message"
                        | "message_button"
                        | "direct_thread_creation_omnipicker";
                        thread_id: string;
                        thread_title: string;
                        thread_v2_id?: string;
                    },
            ) => (
                ...args: [text: string],
            ) => Effect<
                {
                    action: string;
                    client_context: string;
                    message_metadata: DirectBroadcastResponseMessageMetadata[];
                    payload: DirectBroadcastResponsePayload;
                    status: string;
                    status_code: string;
                } & { raw: ActionRaw },

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenEnterConcurrentError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | NavigationWire
                | MobileNavigation
                | MobileUserFlows
                | ScreenStack
                | AndroidQuickPromotionStash,
            >;
        },
        {
            media: {
                at: "media";
                by: "media_type";
                key: "pk";
                source: ScreenItemNodes;
                variants: {
                    "1": ScreenItemDefinition<
                        "DirectPhoto",
                        {
                            height: number;
                            media_type: 1;
                            pk: string;
                            url: string;
                            width: number;
                        },
                        {
                            height: number;
                            media_type: 1;
                            pk: string;
                            url: string;
                            width: number;
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    "2": ScreenItemDefinition<
                        "DirectVideo",
                        {
                            height: number;
                            media_type: 2;
                            pk: string;
                            url: string;
                            width: number;
                        },
                        {
                            height: number;
                            media_type: 2;
                            pk: string;
                            url: string;
                            width: number;
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    "8": ScreenItemDefinition<
                        "DirectCarousel",
                        {
                            media_type: 8;
                            pk: string;
                            slides: readonly { media_type: 1
                            | 2; pk: string; url: string }[];
                        },
                        {
                            media_type: 8;
                            pk: string;
                            slides: readonly { media_type: 1
                            | 2; pk: string; url: string }[];
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                };
            };
            messages: {
                at: "messages";
                item: ScreenItemDefinition<
                    "DirectThreadMessage",
                    {
                        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: 1
                            | 2; pk: string; url: string }[];
                        };
                        text?: string;
                        timestamp: string;
                        user_id: string;
                    },
                    {
                        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: 1
                            | 2; pk: string; url: string }[];
                        };
                        text?: string;
                        timestamp: string;
                        user_id: string;
                    },
                    DirectThreadMessageState,
                    never,
                    never,
                    {
                        react: (
                            self: ScreenHandle,
                            state: DirectThreadMessageState,
                        ) => (
                            ...args: [reaction: "like"],
                        ) => Effect<
                            {
                                action: string;
                                client_context: string;
                                message_metadata: (...)[];
                                payload: DirectBroadcastResponsePayload;
                                status: string;
                                status_code: string;
                            } & { raw: ActionRaw },

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileDevice
                            | NavigationWire
                            | MobileNavigation
                            | ScreenStack,
                        >;
                    },
                    | {
                        has_messages: boolean;
                        is_group: false;
                        ordinal_reserved?: boolean;
                        participants: readonly {
                            fbid_v2?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                        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?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                        send_attribution?: | "inbox"
                        | "inbox_new_message"
                        | "message_button"
                        | "direct_thread_creation_omnipicker";
                        thread_id: string;
                        thread_title: string;
                        thread_v2_id?: string;
                    },
                    never,
                >;
                key: "item_id";
                source: ScreenItemNodes;
            };
            participants: {
                at: "users";
                item: ScreenItemDefinition<
                    "DirectThreadParticipant",
                    { fbid_v2?: string; full_name: string; pk: string; username: string },
                    { fbid_v2?: string; full_name: string; pk: string; username: string },
                    DirectThreadParticipantState,
                    never,
                    never,
                    {
                        openNicknameEditor: (
                            self: ScreenHandle,
                            state: DirectThreadParticipantState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ScreenDefinition<
                                    "DirectThreadNicknameChange",
                                    "screen",
                                    { thread_v2_id: string; user_id: string },
                                    { thread_v2_id: string; user_id: string },
                                    { thread_v2_id: string; user_id: string },
                                    never,
                                    MobileNavigation,
                                    { changeNickname: (self: ..., state: ...) => ... },
                                    Record<never, never>,
                                    never,
                                    "user_id",
                                >,
                                [],
                                "button",
                                AndroidScreens,
                            >,
                            (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    "DirectThreadNicknameChange",
                                    "screen",
                                    { thread_v2_id: ...; user_id: ... },
                                    { changeNickname: ... },
                                    Record<(...), (...)>,
                                    ScreenHandle,
                                    "required",
                                    true,
                                    "user_id",
                                    AndroidScreens,
                                >,
                                ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                                MobileNavigation | ScreenStack | ScreenCatalog,
                            >,
                        >;
                    },
                    | {
                        has_messages: boolean;
                        is_group: false;
                        ordinal_reserved?: boolean;
                        participants: readonly {
                            fbid_v2?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                        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?: string;
                            full_name: string;
                            pk: string;
                            username: string;
                        }[];
                        send_attribution?: | "inbox"
                        | "inbox_new_message"
                        | "message_button"
                        | "direct_thread_creation_omnipicker";
                        thread_id: string;
                        thread_title: string;
                        thread_v2_id?: string;
                    },
                    never,
                >;
                key: "pk";
                source: ScreenItemNodes;
            };
        },
        never,
        never,
    >
    DirectThreadDetails: ScreenDefinition<
        "DirectThreadDetails",
        "screen",
        | {
            is_group: false;
            peer_user_fbid?: string;
            peer_user_id?: string;
            thread_title: string;
            thread_v2_id: string;
        }
        | {
            is_group: true;
            lead_user_id?: string;
            thread_title: string;
            thread_v2_id: string;
        },
        | {
            is_group: false;
            peer_user_fbid?: string;
            peer_user_id?: string;
            thread_title: string;
            thread_v2_id: string;
        }
        | {
            is_group: true;
            lead_user_id?: string;
            thread_title: string;
            thread_v2_id: string;
        },
        | {
            is_group: false;
            peer_user_fbid?: string;
            peer_user_id?: string;
            thread_title: string;
            thread_v2_id: string;
        }
        | {
            is_group: true;
            lead_user_id?: string;
            thread_title: string;
            thread_v2_id: string;
        },
        IgApiError
        | RequestError
        | ParseError
        | TransportError,
        PlainJsonApiHttp | GraphqlJsonHttp | MobileApplication | MobileNavigation,
        {
            openSharedMedia: (
                self: ScreenHandle,
                state:
                    | {
                        is_group: false;
                        peer_user_fbid?: string;
                        peer_user_id?: string;
                        thread_title: string;
                        thread_v2_id: string;
                    }
                    | {
                        is_group: true;
                        lead_user_id?: string;
                        thread_title: string;
                        thread_v2_id: string;
                    },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "DirectThreadSharedMedia",
                        "screen",
                        { is_group: boolean; thread_title: string; thread_v2_id: string },
                        { is_group: boolean; thread_title: string; thread_v2_id: string },
                        { is_group: boolean; thread_title: string; thread_v2_id: string },
                        IgApiError | RequestError | ParseError | TransportError,
                        PlainJsonApiHttp | MobileNavigation | AndroidDirectSurface,
                        {
                            openCustomizeChat: (
                                self: ScreenHandle,
                                state: {
                                    is_group: boolean;
                                    thread_title: string;
                                    thread_v2_id: string;
                                },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                () => Effect<(...), (...), (...)>,
                            >;
                            openGroupNameEditor: (
                                self: ScreenHandle,
                                state: {
                                    is_group: boolean;
                                    thread_title: string;
                                    thread_v2_id: string;
                                },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                (...args: []) => Effect<(...), (...), (...)>,
                            >;
                        },
                        Record<never, never>,
                        never,
                        "thread_v2_id",
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "DirectThreadSharedMedia",
                        "screen",
                        { is_group: boolean; thread_title: string; thread_v2_id: string },
                        {
                            openCustomizeChat: (
                                self: ScreenHandle,
                                state: {
                                    is_group: boolean;
                                    thread_title: string;
                                    thread_v2_id: string;
                                },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                () => ...,
                            >;
                            openGroupNameEditor: (
                                self: ScreenHandle,
                                state: {
                                    is_group: boolean;
                                    thread_title: string;
                                    thread_v2_id: string;
                                },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                (...args: ...) => ...,
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        "thread_v2_id",
                        AndroidScreens,
                    >,

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | PlainJsonApiHttp
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | AndroidDirectSurface,
                >,
            >;
        },
        Record<never, never>,
        never,
        "thread_v2_id",
    >
    DirectThreadNicknameChange: ScreenDefinition<
        "DirectThreadNicknameChange",
        "screen",
        { thread_v2_id: string; user_id: string },
        { thread_v2_id: string; user_id: string },
        { thread_v2_id: string; user_id: string },
        never,
        MobileNavigation,
        {
            changeNickname: (
                self: ScreenHandle,
                state: { thread_v2_id: string; user_id: string },
            ) => (
                ...args: [nickname: string],
            ) => Effect<
                ActionValue<false>
                | ActionValue<true>,

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | SchemaError
                    | GraphqlRootFieldMissingError
                    | ScreenEnterConcurrentError,
                GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | ScreenStack,
            >;
        },
        Record<never, never>,
        never,
        "user_id",
    >
    DirectThreadSharedMedia: ScreenDefinition<
        "DirectThreadSharedMedia",
        "screen",
        { is_group: boolean; thread_title: string; thread_v2_id: string },
        { is_group: boolean; thread_title: string; thread_v2_id: string },
        { is_group: boolean; thread_title: string; thread_v2_id: string },
        IgApiError | RequestError | ParseError | TransportError,
        PlainJsonApiHttp | MobileNavigation | AndroidDirectSurface,
        {
            openCustomizeChat: (
                self: ScreenHandle,
                state: { is_group: boolean; thread_title: string; thread_v2_id: string },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "DirectCustomizeChat",
                        "screen",
                        { thread_v2_id: string },
                        { thread_v2_id: string },
                        { thread_v2_id: string },
                        never,
                        MobileNavigation,
                        {
                            openThemePicker: (
                                self: ScreenHandle,
                                state: { thread_v2_id: string },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                (...args: []) => Effect<(...), (...), (...)>,
                            >;
                        },
                        Record<never, never>,
                        never,
                        "thread_v2_id",
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                () => Effect<
                    AssembledHandle<
                        "DirectCustomizeChat",
                        "screen",
                        { thread_v2_id: string },
                        {
                            openThemePicker: (
                                self: ScreenHandle,
                                state: { thread_v2_id: string },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                (...args: ...) => ...,
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        "thread_v2_id",
                        AndroidScreens,
                    >,
                    ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                    MobileNavigation | ScreenStack | ScreenCatalog,
                >,
            >;
            openGroupNameEditor: (
                self: ScreenHandle,
                state: { is_group: boolean; thread_title: string; thread_v2_id: string },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "DirectGroupNameAndPhotoEditor",
                        "screen",
                        { is_group: boolean; thread_title: string; thread_v2_id: string },
                        { is_group: boolean; thread_title: string; thread_v2_id: string },
                        { is_group: boolean; thread_title: string; thread_v2_id: string },
                        never,
                        MobileNavigation,
                        {
                            changeName: (
                                self: ScreenHandle,
                                state: {
                                    is_group: boolean;
                                    thread_title: string;
                                    thread_v2_id: string;
                                },
                            ) => (
                                ...args: [name: string],
                            ) => Effect<
                                (...) & (...),
                                (...) | (...) | (...) | (...) | (...),
                                (...) | (...) | (...) | (...),
                            >;
                        },
                        Record<never, never>,
                        never,
                        "thread_v2_id",
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "DirectGroupNameAndPhotoEditor",
                        "screen",
                        { is_group: boolean; thread_title: string; thread_v2_id: string },
                        {
                            changeName: (
                                self: ScreenHandle,
                                state: {
                                    is_group: boolean;
                                    thread_title: string;
                                    thread_v2_id: string;
                                },
                            ) => (...args: [name: ...]) => Effect<(...), (...), (...)>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        "thread_v2_id",
                        AndroidScreens,
                    >,
                    ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                    MobileNavigation | ScreenStack | ScreenCatalog,
                >,
            >;
        },
        Record<never, never>,
        never,
        "thread_v2_id",
    >
    DirectThreadThemePicker: ScreenDefinition<
        "DirectThreadThemePicker",
        "screen",
        { thread_v2_id: string },
        { themes: readonly { name: string; theme_id: string }[] },
        { thread_v2_id: string },
        IgApiError | RequestError | ParseError | TransportError,

            | PlainJsonApiHttp
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation
            | AndroidThrottlingDetector,
        {},
        {
            themes: {
                at: "themes";
                item: ScreenItemDefinition<
                    "DirectTheme",
                    { name: string; theme_id: string },
                    { name: string; theme_id: string },
                    DirectThemeState,
                    never,
                    never,
                    {
                        setTheme: (
                            self: ScreenHandle,
                            state: DirectThemeState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            DirectThreadSetThemeResponse & { raw: ActionRaw },

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError,
                            PlainJsonApiHttp
                            | MobileDevice
                            | MobileNavigation
                            | ScreenStack,
                        >;
                    },
                    { thread_v2_id: string },
                    never,
                >;
                key: "theme_id";
                source: ScreenItemNodes;
            };
        },
        never,
        never,
    >
    EditProfile: ScreenDefinition<
        "EditProfile",
        "screen",
        {
            metaVerifiedOffers: {
                enhancedProfile: boolean;
                shareableLinks: boolean;
            };
        },
        {
            backgroundFailures: readonly {
                message?: string;
                request: "contactPointPrefill"
                | "identityReminder";
                tag: string;
            }[];
            biography: string;
            bioLinks: readonly {
                linkId: string;
                linkType: string;
                title: string;
                url: string;
            }[];
            fullName: string;
            profileEditParams: {
                fullName: {
                    confirmationDialogText: string;
                    disclaimerText: string;
                    isPendingReview: boolean;
                    shouldShowConfirmationDialog: boolean;
                };
                username: {
                    confirmationDialogText: string;
                    disclaimerText: string;
                    isPendingReview: boolean;
                    shouldShowConfirmationDialog: boolean;
                };
            };
            userId: string;
            username: string;
        },
        EditProfileState,
        IgApiError
        | RequestError
        | ParseError
        | TransportError
        | ScreenDataError,

            | PlainJsonApiHttp
            | Signature
            | MobileSession
            | MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | PlainNdjsonApiHttp
            | MobileNavigation
            | MobileUserFlows,
        {
            openBio: (
                self: ScreenHandle,
                state: EditProfileState,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "EditProfileBio",
                        "screen",
                        { biography: string },
                        { biography: string },
                        Record<never, never>,

                            | IgCheckpointError
                            | IgAccountSuspendedError
                            | IgAccountDisabledError
                            | IgLoginRequiredError
                            | IgUserLoggedOutError,
                        | MobileSession
                        | MobileDevice
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation,
                        {
                            changeBio: (
                                self: ScreenHandle,
                                state: State,
                            ) => (
                                ...args: [text: string],
                            ) => Effect<
                                (...) & (...),
                                (...) | (...) | (...) | (...) | (...),

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "EditProfileBio",
                        "screen",
                        { biography: string },
                        {
                            changeBio: (
                                self: ScreenHandle,
                                state: State,
                            ) => (...args: [text: ...]) => Effect<(...), (...), (...)>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog,
                >,
            >;
            openLinks: (
                self: ScreenHandle,
                state: EditProfileState,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "EditProfileLinks",
                        "screen",
                        {
                            links: readonly {
                                linkId: string;
                                linkType: string;
                                title: string;
                                url: string;
                            }[];
                        },
                        {
                            links: readonly {
                                linkId: string;
                                linkType: string;
                                title: string;
                                url: string;
                            }[];
                        },
                        Record<never, never>,

                            | IgCheckpointError
                            | IgAccountSuspendedError
                            | IgAccountDisabledError
                            | IgLoginRequiredError
                            | IgUserLoggedOutError,
                        | PlainJsonApiHttp
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation,
                        {
                            addLink: (
                                self: ScreenHandle,
                                state: never,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                (...args: []) => Effect<(...), (...), (...)>,
                            >;
                            done: (
                                self: ScreenHandle,
                                state: State,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                (...)
                                | (...),
                                (...) | (...) | (...) | (...) | (...) | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "EditProfileLinks",
                        "screen",
                        {
                            links: readonly {
                                linkId: string;
                                linkType: string;
                                title: string;
                                url: string;
                            }[];
                        },
                        {
                            addLink: (
                                self: ScreenHandle,
                                state: never,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                (...args: ...) => ...,
                            >;
                            done: (
                                self: ScreenHandle,
                                state: State,
                            ) => (...args: []) => Effect<(...), (...), (...)>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | PlainJsonApiHttp
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog,
                >,
            >;
            openUsername: (
                self: ScreenHandle,
                state: EditProfileState,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "EditProfileUsername",
                        "screen",
                        { username: string },
                        { check?: { available: boolean }; username: string },
                        Record<never, never>,
                        never,
                        PlainJsonApiHttp | MobileNavigation | MobileUserFlows,
                        {
                            changeUsername: (
                                self: ScreenHandle,
                                state: State,
                            ) => (
                                ...args: [username: string],
                            ) => Effect<
                                (...) & (...),
                                (...) | (...) | (...) | (...) | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                            typeUsername: (
                                self: ScreenHandle,
                                state: State,
                            ) => ScreenDataMember<
                                ScreenDataShape,
                                (...args: [username: ...]) => Effect<(...), (...), (...)>,
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "EditProfileUsername",
                        "screen",
                        { check?: { available: boolean }; username: string },
                        {
                            changeUsername: (
                                self: ScreenHandle,
                                state: State,
                            ) => (...args: [username: ...]) => Effect<(...), (...), (...)>;
                            typeUsername: (
                                self: ScreenHandle,
                                state: State,
                            ) => ScreenDataMember<ScreenDataShape, (...args: ...) => ...>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,
                    ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,

                        | PlainJsonApiHttp
                        | MobileNavigation
                        | MobileUserFlows
                        | ScreenStack
                        | ScreenCatalog,
                >,
            >;
        },
        Record<never, never>,
        never,
        "userId",
    >
    EditProfileAddLink: ScreenDefinition<
        "EditProfileAddLink",
        "screen",
        undefined,
        {},
        Record<never, never>,

            | IgCheckpointError
            | IgAccountSuspendedError
            | IgAccountDisabledError
            | IgLoginRequiredError
            | IgUserLoggedOutError,
        GraphqlJsonHttp
        | MobileApplication
        | MobileNavigation,
        {
            addLink: (
                self: ScreenHandle,
                state: State,
            ) => (
                ...args: [url: string, title: string],
            ) => Effect<
                CurrentUserResponseUser & { raw: ActionRaw },

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenEnterConcurrentError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | ScreenStack,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    EditProfileBio: ScreenDefinition<
        "EditProfileBio",
        "screen",
        { biography: string },
        { biography: string },
        Record<never, never>,

            | IgCheckpointError
            | IgAccountSuspendedError
            | IgAccountDisabledError
            | IgLoginRequiredError
            | IgUserLoggedOutError,
        | MobileSession
        | MobileDevice
        | GraphqlJsonHttp
        | MobileApplication
        | MobileNavigation,
        {
            changeBio: (
                self: ScreenHandle,
                state: State,
            ) => (
                ...args: [text: string],
            ) => Effect<
                SetBiographyResponseUser & { raw: ActionRaw },

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenEnterConcurrentError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | PlainNdjsonApiHttp
                | MobileNavigation
                | MobileUserFlows
                | ScreenStack,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    EditProfileLinks: ScreenDefinition<
        "EditProfileLinks",
        "screen",
        {
            links: readonly {
                linkId: string;
                linkType: string;
                title: string;
                url: string;
            }[];
        },
        {
            links: readonly {
                linkId: string;
                linkType: string;
                title: string;
                url: string;
            }[];
        },
        Record<never, never>,

            | IgCheckpointError
            | IgAccountSuspendedError
            | IgAccountDisabledError
            | IgLoginRequiredError
            | IgUserLoggedOutError,
        PlainJsonApiHttp
        | GraphqlJsonHttp
        | MobileApplication
        | MobileNavigation,
        {
            addLink: (
                self: ScreenHandle,
                state: never,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "EditProfileAddLink",
                        "screen",
                        undefined,
                        {},
                        Record<never, never>,

                            | IgCheckpointError
                            | IgAccountSuspendedError
                            | IgAccountDisabledError
                            | IgLoginRequiredError
                            | IgUserLoggedOutError,
                        GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation,
                        {
                            addLink: (
                                self: ScreenHandle,
                                state: State,
                            ) => (
                                ...args: [url: string, title: string],
                            ) => Effect<
                                (...) & (...),
                                (...) | (...) | (...) | (...) | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "EditProfileAddLink",
                        "screen",
                        {},
                        {
                            addLink: (
                                self: ScreenHandle,
                                state: State,
                            ) => (...args: [url: ..., title: ...]) => Effect<(...), (...), (...)>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog,
                >,
            >;
            done: (
                self: ScreenHandle,
                state: State,
            ) => (
                ...args: [],
            ) => Effect<
                ScreenFrameHandle
                | ActionValue<undefined>,

                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | ScreenEnterConcurrentError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | PlainNdjsonApiHttp
                | MobileNavigation
                | ScreenStack,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    EditProfileUsername: ScreenDefinition<
        "EditProfileUsername",
        "screen",
        { username: string },
        { check?: { available: boolean }; username: string },
        Record<never, never>,
        never,
        PlainJsonApiHttp | MobileNavigation | MobileUserFlows,
        {
            changeUsername: (
                self: ScreenHandle,
                state: State,
            ) => (
                ...args: [username: string],
            ) => Effect<
                UpdateProfileUsernameResponse & { raw: ActionRaw },

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenEnterConcurrentError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | PlainNdjsonApiHttp
                | MobileNavigation
                | ScreenStack,
            >;
            typeUsername: (
                self: ScreenHandle,
                state: State,
            ) => ScreenDataMember<
                ScreenDataShape,
                (
                    ...args: [username: string],
                ) => Effect<
                    ScreenHandle,
                    ScreenDataActionFailure<
                        IgApiError
                        | RequestError
                        | ParseError
                        | TransportError,
                    >,

                        | PlainJsonApiHttp
                        | Signature
                        | MobileSession
                        | MobileDevice
                        | MobileNavigation
                        | ScreenStack,
                >,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    Explore: ScreenDefinition<
        "Explore",
        "tab",
        undefined,
        {
            recent: readonly { fullName: string; userId: string; username: string }[];
        },
        ExploreState,
        IgApiError
        | RequestError
        | ParseError
        | TransportError
        | ScreenDataError,

            | PlainJsonApiHttp
            | Signature
            | MobileSession
            | MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation
            | MobileUserFlows
            | AndroidThrottlingDetector
            | AndroidQuickPromotionStash,
        {
            openSearchInput: (
                self: ScreenHandle,
                state: ExploreState,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "SearchInput",
                        "screen",
                        | {
                            lastSeenMedia?: readonly {
                                mediaIds: ...;
                                surfaceType: ...;
                                timestamp: ...;
                            }[];
                            query: string;
                            session?: {
                                clientUuidRankToken?: (...)
                                | (...);
                                searchSessionId: string;
                                serpSessionId?: (...) | (...);
                                typeaheadSessionId?: (...) | (...);
                            };
                        }
                        | {
                            recent: readonly {
                                fullName: string;
                                userId: string;
                                username: string;
                            }[];
                        },
                        {
                            query: string;
                            rankToken: string;
                            recentAccounts: readonly {
                                fullName: string;
                                userId: string;
                                username: string;
                            }[];
                            results: readonly (
                                | {
                                    __typename: "unknown";
                                    item: { kind: ...; kindKey?: ...; raw: ... };
                                    key: string;
                                }
                                | {
                                    __typename: "XDTTypeaheadSearchKeyword";
                                    key: string;
                                    keyword_lazified: { id: ...; name: ...; user?: ... };
                                }
                                | {
                                    __typename: "XDTTypeaheadSearchUser";
                                    key: string;
                                    rank_token?: (...)
                                    | (...);
                                    user: {
                                        full_name?: ...;
                                        id: ...;
                                        is_private?: ...;
                                        is_verified?: ...;
                                        latest_reel_media?: ...;
                                        profile_pic_url?: ...;
                                        search_serp_type?: ...;
                                        username: ...;
                                    };
                                }
                                | {
                                    __typename: "XDTTypeaheadSearchHashtag";
                                    hashtag: { id: ...; media_count?: ...; name: ... };
                                    key: string;
                                }
                                | {
                                    __typename: "XDTTypeaheadSearchOverfetchedKeywords";
                                    key: string;
                                    keywords: readonly (...)[];
                                    num_keywords_to_show?: (...) | (...);
                                    query_text: string;
                                }
                            )[];
                            session?: {
                                clientUuidRankToken: string;
                                searchSessionId: string;
                                serpSessionId?: string;
                                typeaheadSessionId: string;
                            };
                        },
                        SearchInputState,
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | SchemaError
                        | GraphqlRootFieldMissingError,
                        MobileDevice
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation,
                        {
                            change: (
                                self: ScreenHandle,
                                state: SearchInputState,
                            ) => ScreenDataMember<
                                ScreenDataShape,
                                (...args: [query: ...]) => Effect<(...), (...), (...)>,
                            >;
                            search: (
                                self: ScreenHandle,
                                state: SearchInputState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    readonly [(...)],
                                    "search_result",
                                    AndroidScreens,
                                >,
                                (...args: readonly [(...)]) => Effect<(...), (...), (...)>,
                            >;
                        },
                        {
                            recentAccounts: {
                                at: "recentAccounts";
                                item: ScreenItemDefinition<
                                    "RecentSearchAccount",
                                    { fullName: string; userId: string; username: string },
                                    { fullName: string; userId: string; username: string },
                                    RecentSearchAccountState,
                                    never,
                                    never,
                                    { openProfile: (self: ..., state: ...) => ... },
                                    undefined,
                                    never,
                                >;
                                key: "userId";
                                source: ScreenNoItemNodes;
                            };
                            results: {
                                at: "results";
                                by: "__typename";
                                key: "key";
                                source: ScreenNoItemNodes;
                                variants: {
                                    unknown: ScreenItemDefinition<
                                        "SearchInputUnknownResult",
                                        { __typename: ...; item: ...; key: ... },
                                        { __typename: ...; item: ...; key: ... },
                                        Record<(...), (...)>,
                                        never,
                                        never,
                                        {},
                                        undefined,
                                        never,
                                    >;
                                    XDTTypeaheadSearchHashtag: ScreenItemDefinition<
                                        "SearchInputHashtagResult",
                                        { __typename: ...; hashtag: ...; key: ... },
                                        { __typename: ...; hashtag: ...; key: ... },
                                        Record<(...), (...)>,
                                        never,
                                        never,
                                        {},
                                        undefined,
                                        never,
                                    >;
                                    XDTTypeaheadSearchKeyword: ScreenItemDefinition<
                                        "SearchInputKeywordResult",
                                        { __typename: ...; key: ...; keyword_lazified: ... },
                                        { __typename: ...; key: ...; keyword_lazified: ... },
                                        Record<(...), (...)>,
                                        never,
                                        never,
                                        {},
                                        undefined,
                                        never,
                                    >;
                                    XDTTypeaheadSearchOverfetchedKeywords: ScreenItemDefinition<
                                        "SearchInputOverfetchedKeywordsResult",
                                        {
                                            __typename: ...;
                                            key: ...;
                                            keywords: ...;
                                            num_keywords_to_show?: ...;
                                            query_text: ...;
                                        },
                                        {
                                            __typename: ...;
                                            key: ...;
                                            keywords: ...;
                                            num_keywords_to_show?: ...;
                                            query_text: ...;
                                        },
                                        Record<(...), (...)>,
                                        never,
                                        never,
                                        {},
                                        undefined,
                                        never,
                                    >;
                                    XDTTypeaheadSearchUser: ScreenItemDefinition<
                                        "SearchInputUserResult",
                                        { __typename: ...; key: ...; rank_token?: ...; user: ... },
                                        { __typename: ...; key: ...; rank_token?: ...; user: ... },
                                        TypeaheadUserRowState,
                                        never,
                                        never,
                                        { openProfile: ... },
                                        undefined,
                                        never,
                                    >;
                                };
                            };
                        },
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "SearchInput",
                        "screen",
                        {
                            query: string;
                            rankToken: string;
                            recentAccounts: readonly {
                                fullName: string;
                                userId: string;
                                username: string;
                            }[];
                            results: readonly (
                                | { __typename: ...; item: ...; key: ... }
                                | { __typename: ...; key: ...; keyword_lazified: ... }
                                | { __typename: ...; key: ...; rank_token?: ...; user: ... }
                                | { __typename: ...; hashtag: ...; key: ... }
                                | {
                                    __typename: ...;
                                    key: ...;
                                    keywords: ...;
                                    num_keywords_to_show?: ...;
                                    query_text: ...;
                                }
                            )[];
                            session?: {
                                clientUuidRankToken: string;
                                searchSessionId: string;
                                serpSessionId?: (...)
                                | (...);
                                typeaheadSessionId: string;
                            };
                        },
                        {
                            change: (
                                self: ScreenHandle,
                                state: SearchInputState,
                            ) => ScreenDataMember<ScreenDataShape, (...args: ...) => ...>;
                            search: (
                                self: ScreenHandle,
                                state: SearchInputState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                (...args: ...) => ...,
                            >;
                        },
                        {
                            recentAccounts: {
                                at: "recentAccounts";
                                item: ScreenItemDefinition<
                                    "RecentSearchAccount",
                                    { fullName: ...; userId: ...; username: ... },
                                    { fullName: ...; userId: ...; username: ... },
                                    RecentSearchAccountState,
                                    never,
                                    never,
                                    { openProfile: ... },
                                    undefined,
                                    never,
                                >;
                                key: "userId";
                                source: ScreenNoItemNodes;
                            };
                            results: {
                                at: "results";
                                by: "__typename";
                                key: "key";
                                source: ScreenNoItemNodes;
                                variants: {
                                    unknown: ScreenItemDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >;
                                    XDTTypeaheadSearchHashtag: ScreenItemDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >;
                                    XDTTypeaheadSearchKeyword: ScreenItemDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >;
                                    XDTTypeaheadSearchOverfetchedKeywords: ScreenItemDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >;
                                    XDTTypeaheadSearchUser: ScreenItemDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >;
                                };
                            };
                        },
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | SchemaError
                    | GraphqlRootFieldMissingError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError,
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog,
                >,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    FeedTimeline: SwipeableFeedScreen<
        "FeedTimeline",
        "tab",
        { opening?: "cold_start"
        | "tab_open" },
        {
            lastTakenAt?: number;
            nextMaxId?: string;
            position?: number;
            reason: TimelineFeedReason;
            requestId?: string;
        },
        {
            entries: readonly (
                | {
                    key: string;
                    media: {
                        carousel_media?: readonly { pk: string }[];
                        code: string;
                        id: string;
                        injected?: { ad_id?: string } | null;
                        inventory_source?: string;
                        logging_info_token?: string;
                        media_type: number;
                        mezql_token?: string;
                        pk?: string;
                        product_type?: string;
                        taken_at?: number;
                        user?: { pk: string; username: string };
                    };
                    position: number;
                    slide?: number;
                    type: "post";
                }
                | {
                    key: string;
                    media: {
                        carousel_media?: readonly { pk: string }[];
                        code: string;
                        id: string;
                        injected?: { ad_id?: string } | null;
                        inventory_source?: string;
                        logging_info_token?: string;
                        media_type: number;
                        mezql_token?: string;
                        pk?: string;
                        product_type?: string;
                        taken_at?: number;
                        user?: { pk: string; username: string };
                    };
                    position: number;
                    type: "reel";
                }
                | {
                    key: string;
                    media: {
                        carousel_media?: readonly { pk: string }[];
                        code: string;
                        id: string;
                        injected?: { ad_id?: string } | null;
                        inventory_source?: string;
                        logging_info_token?: string;
                        media_type: number;
                        mezql_token?: string;
                        pk?: string;
                        product_type?: string;
                        taken_at?: number;
                        user?: { pk: string; username: string };
                    };
                    position: number;
                    type: "ad";
                }
                | {
                    key: string;
                    media: {
                        carousel_media?: readonly { pk: string }[];
                        code: string;
                        id: string;
                        injected?: { ad_id?: string } | null;
                        inventory_source?: string;
                        logging_info_token?: string;
                        media_type: number;
                        mezql_token?: string;
                        pk?: string;
                        product_type?: string;
                        taken_at?: number;
                        user?: { pk: string; username: string };
                    };
                    position: number;
                    source: string;
                    type: "explore_story";
                }
                | {
                    key: string;
                    position: number;
                    subtitle: string;
                    title: string;
                    type: "caught-up";
                }
                | {
                    key: string;
                    position: number;
                    posts: readonly {
                        id?: string;
                        media_type?: number;
                        user?: { pk: string; username: string };
                    }[];
                    title: string;
                    type: "threads";
                }
                | {
                    key: string;
                    position: number;
                    reels: readonly {
                        id?: string;
                        is_eof?: boolean
                        | null;
                        media_type?: number;
                        pk?: string;
                        user?: { pk: string; username: string };
                    }[];
                    title: string;
                    type: "suggested-reels";
                }
                | {
                    item: { kind: "unknown"; kindKey?: string; raw: Json };
                    key: string;
                    position: number;
                    type: "unknown";
                }
            )[];
            more_available: boolean;
            next_max_id?: string;
            requestId: string;
        },
        IgApiError
        | RequestError
        | ParseError
        | TransportError
        | ScreenDataError,

            | PlainJsonApiHttp
            | MobileSession
            | MobileDevice
            | MobileApplication
            | NavigationWire
            | MobileUserFlows
            | MobileProcessMobileConfig,
        IgApiError
        | RequestError
        | ParseError
        | TransportError
        | ScreenDataError,

            | PlainJsonApiHttp
            | MobileSession
            | MobileDevice
            | MobileApplication
            | NavigationWire
            | MobileNavigation
            | MobileUserFlows
            | MobileProcessMobileConfig,
        FeedTimelineActions,
        {
            at: "entries";
            by: "type";
            key: "key";
            source: ScreenItemNodes;
            variants: {
                ad: ScreenItemDefinition<
                    "FeedTimelineAd",
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "ad";
                    },
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "ad";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
                "caught-up": ScreenItemDefinition<
                    "FeedTimelineCaughtUp",
                    {
                        key: string;
                        position: number;
                        subtitle: string;
                        title: string;
                        type: "caught-up";
                    },
                    {
                        key: string;
                        position: number;
                        subtitle: string;
                        title: string;
                        type: "caught-up";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
                explore_story: ScreenItemDefinition<
                    "FeedTimelineExploreStory",
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        source: string;
                        type: "explore_story";
                    },
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        source: string;
                        type: "explore_story";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
                post: ScreenItemDefinition<
                    "FeedTimelinePost",
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        slide?: number;
                        type: "post";
                    },
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        slide?: number;
                        type: "post";
                    },
                    FeedTimelinePostItemState,
                    never,
                    never,
                    {
                        like: (
                            self: ScreenHandle,
                            state: FeedTimelinePostState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            { data: ... } & { raw: ... }
                            | MediaLikeRestResponse & { raw: ... },

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | ScreenEnterConcurrentError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        likeCarouselChild: (
                            self: ScreenHandle,
                            state: FeedTimelinePostItemState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            { data: ... } & { raw: ... }
                            | MediaLikeRestResponse & { raw: ... },

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | ScreenEnterConcurrentError
                                | CarouselSlideNotFoundError
                                | CarouselSlidesNotLoadedError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        open: (
                            self: ScreenHandle,
                            state: FeedTimelinePostState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ScreenDefinition<
                                    "PostOpenedFromLink",
                                    "screen",
                                    {
                                        feedPosition?: (...)
                                        | (...)
                                        | (...);
                                        loggingInfoToken?: (...) | (...);
                                        mediaId: string;
                                    },
                                    { carousel?: (...)
                                    | (...); mediaId: string; trackingToken: string },
                                    PostOpenedFromLinkState,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError,
                                    PlainJsonApiHttp
                                    | MobileNavigation
                                    | AndroidThrottlingDetector,
                                    {
                                        like: (self: ..., state: ...) => ...;
                                        openComments: (self: ..., state: ...) => ...;
                                        repost: (self: ..., state: ...) => ...;
                                        swipeToSlide: (self: ..., state: ...) => ...;
                                    },
                                    Record<never, never>,
                                    never,
                                    "mediaId",
                                >,
                                [],
                                "button",
                                AndroidScreens,
                            >,
                            (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    "PostOpenedFromLink",
                                    "screen",
                                    { carousel?: ...; mediaId: ...; trackingToken: ... },
                                    { like: ...; openComments: ...; repost: ...; swipeToSlide: ... },
                                    Record<(...), (...)>,
                                    ScreenHandle,
                                    "required",
                                    true,
                                    "mediaId",
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError,
                                | PlainJsonApiHttp
                                | MobileNavigation
                                | ScreenStack
                                | AndroidThrottlingDetector
                                | ScreenCatalog,
                            >,
                        >;
                        swipeToSlide: (
                            self: ScreenHandle,
                            state: FeedTimelinePostItemState,
                        ) => ScreenDataMember<
                            ScreenDataShape,
                            (
                                ...args: [index: number],
                            ) => Effect<
                                ScreenHandle,
                                ScreenDataActionFailure<(...) | (...)>,
                                MobileNavigation | ScreenStack,
                            >,
                        >;
                        unlikeCarouselChild: (
                            self: ScreenHandle,
                            state: FeedTimelinePostItemState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            ActionValue<string>,

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError
                                | CarouselSlideNotFoundError
                                | CarouselSlidesNotLoadedError,
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | ScreenStack,
                        >;
                    },
                    undefined,
                    never,
                >;
                reel: ScreenItemDefinition<
                    "FeedTimelineReel",
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "reel";
                    },
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "reel";
                    },
                    FeedTimelinePostState,
                    never,
                    never,
                    {
                        open: (
                            self: ScreenHandle,
                            state: FeedTimelinePostState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ReelsViewerScreenDefinition,
                                readonly [
                                    {
                                        chainingPosition?: (...)
                                        | (...)
                                        | (...);
                                        chainingSeedMediaId?: (...) | (...);
                                        chainingSessionId?: (...) | (...);
                                        clientPosition?: (...) | (...) | (...);
                                        mediaPctWatched?: (...) | (...) | (...);
                                        rankingSessionId?: (...) | (...);
                                        storyRankingToken?: (...) | (...);
                                    },
                                ],
                                "warm_start",
                                AndroidScreens,
                            >,
                            (
                                ...args: readonly [
                                    {
                                        chainingPosition?: (...)
                                        | (...)
                                        | (...);
                                        chainingSeedMediaId?: (...) | (...);
                                        chainingSessionId?: (...) | (...);
                                        clientPosition?: (...) | (...) | (...);
                                        mediaPctWatched?: (...) | (...) | (...);
                                        rankingSessionId?: (...) | (...);
                                        storyRankingToken?: (...) | (...);
                                    },
                                ],
                            ) => Effect<
                                AssembledHandle<
                                    "ReelsViewer",
                                    "tab",
                                    { entries: ...; next?: ...; opensOnOneReel?: ... },
                                    (...) & (...) & (...),
                                    ScreenFeedItems<(...)>,
                                    ScreenHandle,
                                    "required",
                                    true,
                                    never,
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack
                                | AndroidThrottlingDetector
                                | AndroidClientAddress
                                | ScreenCatalog,
                            >,
                        >;
                    },
                    undefined,
                    never,
                >;
                "suggested-reels": ScreenItemDefinition<
                    "FeedTimelineSuggestedReels",
                    {
                        key: string;
                        position: number;
                        reels: readonly {
                            id?: string;
                            is_eof?: boolean
                            | null;
                            media_type?: number;
                            pk?: string;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "suggested-reels";
                    },
                    {
                        key: string;
                        position: number;
                        reels: readonly {
                            id?: string;
                            is_eof?: boolean
                            | null;
                            media_type?: number;
                            pk?: string;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "suggested-reels";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
                threads: ScreenItemDefinition<
                    "FeedTimelineThreads",
                    {
                        key: string;
                        position: number;
                        posts: readonly {
                            id?: string;
                            media_type?: number;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "threads";
                    },
                    {
                        key: string;
                        position: number;
                        posts: readonly {
                            id?: string;
                            media_type?: number;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "threads";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
                unknown: ScreenItemDefinition<
                    "FeedTimelineUnknown",
                    {
                        item: { kind: "unknown"; kindKey?: string; raw: Json };
                        key: string;
                        position: number;
                        type: "unknown";
                    },
                    {
                        item: { kind: "unknown"; kindKey?: string; raw: Json };
                        key: string;
                        position: number;
                        type: "unknown";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
            };
        },
        never,
        never,
        never,
    >
    FeedTimelineFollowing: SwipeableFeedScreen<
        "FeedTimelineFollowing",
        "screen",
        {},
        {
            lastTakenAt?: number;
            nextMaxId?: string;
            position?: number;
            reason: TimelineFeedReason;
            requestId?: string;
        },
        {
            entries: readonly (
                | {
                    key: string;
                    media: {
                        carousel_media?: readonly { pk: string }[];
                        code: string;
                        id: string;
                        injected?: { ad_id?: string } | null;
                        inventory_source?: string;
                        logging_info_token?: string;
                        media_type: number;
                        mezql_token?: string;
                        pk?: string;
                        product_type?: string;
                        taken_at?: number;
                        user?: { pk: string; username: string };
                    };
                    position: number;
                    slide?: number;
                    type: "post";
                }
                | {
                    key: string;
                    media: {
                        carousel_media?: readonly { pk: string }[];
                        code: string;
                        id: string;
                        injected?: { ad_id?: string } | null;
                        inventory_source?: string;
                        logging_info_token?: string;
                        media_type: number;
                        mezql_token?: string;
                        pk?: string;
                        product_type?: string;
                        taken_at?: number;
                        user?: { pk: string; username: string };
                    };
                    position: number;
                    type: "reel";
                }
                | {
                    key: string;
                    media: {
                        carousel_media?: readonly { pk: string }[];
                        code: string;
                        id: string;
                        injected?: { ad_id?: string } | null;
                        inventory_source?: string;
                        logging_info_token?: string;
                        media_type: number;
                        mezql_token?: string;
                        pk?: string;
                        product_type?: string;
                        taken_at?: number;
                        user?: { pk: string; username: string };
                    };
                    position: number;
                    type: "ad";
                }
                | {
                    key: string;
                    media: {
                        carousel_media?: readonly { pk: string }[];
                        code: string;
                        id: string;
                        injected?: { ad_id?: string } | null;
                        inventory_source?: string;
                        logging_info_token?: string;
                        media_type: number;
                        mezql_token?: string;
                        pk?: string;
                        product_type?: string;
                        taken_at?: number;
                        user?: { pk: string; username: string };
                    };
                    position: number;
                    source: string;
                    type: "explore_story";
                }
                | {
                    key: string;
                    position: number;
                    subtitle: string;
                    title: string;
                    type: "caught-up";
                }
                | {
                    key: string;
                    position: number;
                    posts: readonly {
                        id?: string;
                        media_type?: number;
                        user?: { pk: string; username: string };
                    }[];
                    title: string;
                    type: "threads";
                }
                | {
                    key: string;
                    position: number;
                    reels: readonly {
                        id?: string;
                        is_eof?: boolean
                        | null;
                        media_type?: number;
                        pk?: string;
                        user?: { pk: string; username: string };
                    }[];
                    title: string;
                    type: "suggested-reels";
                }
                | {
                    item: { kind: "unknown"; kindKey?: string; raw: Json };
                    key: string;
                    position: number;
                    type: "unknown";
                }
            )[];
            more_available: boolean;
            next_max_id?: string;
            requestId: string;
        },
        IgApiError
        | RequestError
        | ParseError
        | TransportError
        | ScreenDataError,

            | PlainJsonApiHttp
            | MobileSession
            | MobileDevice
            | MobileApplication
            | NavigationWire
            | MobileUserFlows
            | MobileProcessMobileConfig,
        IgApiError
        | RequestError
        | ParseError
        | TransportError
        | ScreenDataError,

            | PlainJsonApiHttp
            | MobileSession
            | MobileDevice
            | MobileApplication
            | NavigationWire
            | MobileNavigation
            | MobileUserFlows
            | MobileProcessMobileConfig,
        {},
        {
            at: "entries";
            by: "type";
            key: "key";
            source: ScreenItemNodes;
            variants: {
                ad: ScreenItemDefinition<
                    "FeedTimelineAd",
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "ad";
                    },
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "ad";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
                "caught-up": ScreenItemDefinition<
                    "FeedTimelineCaughtUp",
                    {
                        key: string;
                        position: number;
                        subtitle: string;
                        title: string;
                        type: "caught-up";
                    },
                    {
                        key: string;
                        position: number;
                        subtitle: string;
                        title: string;
                        type: "caught-up";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
                explore_story: ScreenItemDefinition<
                    "FeedTimelineExploreStory",
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        source: string;
                        type: "explore_story";
                    },
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        source: string;
                        type: "explore_story";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
                post: ScreenItemDefinition<
                    "FeedTimelinePost",
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        slide?: number;
                        type: "post";
                    },
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        slide?: number;
                        type: "post";
                    },
                    FeedTimelinePostItemState,
                    never,
                    never,
                    {
                        like: (
                            self: ScreenHandle,
                            state: FeedTimelinePostState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            { data: ... } & { raw: ... }
                            | MediaLikeRestResponse & { raw: ... },

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | ScreenEnterConcurrentError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        likeCarouselChild: (
                            self: ScreenHandle,
                            state: FeedTimelinePostItemState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            { data: ... } & { raw: ... }
                            | MediaLikeRestResponse & { raw: ... },

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | ScreenEnterConcurrentError
                                | CarouselSlideNotFoundError
                                | CarouselSlidesNotLoadedError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        open: (
                            self: ScreenHandle,
                            state: FeedTimelinePostState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ScreenDefinition<
                                    "PostOpenedFromLink",
                                    "screen",
                                    {
                                        feedPosition?: (...)
                                        | (...)
                                        | (...);
                                        loggingInfoToken?: (...) | (...);
                                        mediaId: string;
                                    },
                                    { carousel?: (...)
                                    | (...); mediaId: string; trackingToken: string },
                                    PostOpenedFromLinkState,

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError,
                                    PlainJsonApiHttp
                                    | MobileNavigation
                                    | AndroidThrottlingDetector,
                                    {
                                        like: (self: ..., state: ...) => ...;
                                        openComments: (self: ..., state: ...) => ...;
                                        repost: (self: ..., state: ...) => ...;
                                        swipeToSlide: (self: ..., state: ...) => ...;
                                    },
                                    Record<never, never>,
                                    never,
                                    "mediaId",
                                >,
                                [],
                                "button",
                                AndroidScreens,
                            >,
                            (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    "PostOpenedFromLink",
                                    "screen",
                                    { carousel?: ...; mediaId: ...; trackingToken: ... },
                                    { like: ...; openComments: ...; repost: ...; swipeToSlide: ... },
                                    Record<(...), (...)>,
                                    ScreenHandle,
                                    "required",
                                    true,
                                    "mediaId",
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError,
                                | PlainJsonApiHttp
                                | MobileNavigation
                                | ScreenStack
                                | AndroidThrottlingDetector
                                | ScreenCatalog,
                            >,
                        >;
                        swipeToSlide: (
                            self: ScreenHandle,
                            state: FeedTimelinePostItemState,
                        ) => ScreenDataMember<
                            ScreenDataShape,
                            (
                                ...args: [index: number],
                            ) => Effect<
                                ScreenHandle,
                                ScreenDataActionFailure<(...) | (...)>,
                                MobileNavigation | ScreenStack,
                            >,
                        >;
                        unlikeCarouselChild: (
                            self: ScreenHandle,
                            state: FeedTimelinePostItemState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            ActionValue<string>,

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError
                                | CarouselSlideNotFoundError
                                | CarouselSlidesNotLoadedError,
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | ScreenStack,
                        >;
                    },
                    undefined,
                    never,
                >;
                reel: ScreenItemDefinition<
                    "FeedTimelineReel",
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "reel";
                    },
                    {
                        key: string;
                        media: {
                            carousel_media?: readonly { pk: string }[];
                            code: string;
                            id: string;
                            injected?: { ad_id?: string } | null;
                            inventory_source?: string;
                            logging_info_token?: string;
                            media_type: number;
                            mezql_token?: string;
                            pk?: string;
                            product_type?: string;
                            taken_at?: number;
                            user?: { pk: string; username: string };
                        };
                        position: number;
                        type: "reel";
                    },
                    FeedTimelinePostState,
                    never,
                    never,
                    {
                        open: (
                            self: ScreenHandle,
                            state: FeedTimelinePostState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ReelsViewerScreenDefinition,
                                readonly [
                                    {
                                        chainingPosition?: (...)
                                        | (...)
                                        | (...);
                                        chainingSeedMediaId?: (...) | (...);
                                        chainingSessionId?: (...) | (...);
                                        clientPosition?: (...) | (...) | (...);
                                        mediaPctWatched?: (...) | (...) | (...);
                                        rankingSessionId?: (...) | (...);
                                        storyRankingToken?: (...) | (...);
                                    },
                                ],
                                "warm_start",
                                AndroidScreens,
                            >,
                            (
                                ...args: readonly [
                                    {
                                        chainingPosition?: (...)
                                        | (...)
                                        | (...);
                                        chainingSeedMediaId?: (...) | (...);
                                        chainingSessionId?: (...) | (...);
                                        clientPosition?: (...) | (...) | (...);
                                        mediaPctWatched?: (...) | (...) | (...);
                                        rankingSessionId?: (...) | (...);
                                        storyRankingToken?: (...) | (...);
                                    },
                                ],
                            ) => Effect<
                                AssembledHandle<
                                    "ReelsViewer",
                                    "tab",
                                    { entries: ...; next?: ...; opensOnOneReel?: ... },
                                    (...) & (...) & (...),
                                    ScreenFeedItems<(...)>,
                                    ScreenHandle,
                                    "required",
                                    true,
                                    never,
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack
                                | AndroidThrottlingDetector
                                | AndroidClientAddress
                                | ScreenCatalog,
                            >,
                        >;
                    },
                    undefined,
                    never,
                >;
                "suggested-reels": ScreenItemDefinition<
                    "FeedTimelineSuggestedReels",
                    {
                        key: string;
                        position: number;
                        reels: readonly {
                            id?: string;
                            is_eof?: boolean
                            | null;
                            media_type?: number;
                            pk?: string;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "suggested-reels";
                    },
                    {
                        key: string;
                        position: number;
                        reels: readonly {
                            id?: string;
                            is_eof?: boolean
                            | null;
                            media_type?: number;
                            pk?: string;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "suggested-reels";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
                threads: ScreenItemDefinition<
                    "FeedTimelineThreads",
                    {
                        key: string;
                        position: number;
                        posts: readonly {
                            id?: string;
                            media_type?: number;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "threads";
                    },
                    {
                        key: string;
                        position: number;
                        posts: readonly {
                            id?: string;
                            media_type?: number;
                            user?: { pk: string; username: string };
                        }[];
                        title: string;
                        type: "threads";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
                unknown: ScreenItemDefinition<
                    "FeedTimelineUnknown",
                    {
                        item: { kind: "unknown"; kindKey?: string; raw: Json };
                        key: string;
                        position: number;
                        type: "unknown";
                    },
                    {
                        item: { kind: "unknown"; kindKey?: string; raw: Json };
                        key: string;
                        position: number;
                        type: "unknown";
                    },
                    Record<never, never>,
                    never,
                    never,
                    {},
                    undefined,
                    never,
                >;
            };
        },
        never,
        never,
        never,
    >
    LoginHomepage: ScreenDefinition<
        "LoginHomepage",
        "screen",
        undefined,
        {
            aac: string;
            attestationChallengeNonce?: string;
            loginEntryPoint: "login-home"
            | "landing-screen";
            oauthQpl: { instanceId: number; markerId: number };
            passwordTextInputId: string;
            qpl: { instanceId: number; markerId: number };
            recoveryTicket?: string & Brand<"RecoveryActionTicket">;
            usernameTextInputId: string;
            waterfallId: string;
        },
        {
            aac: string;
            attestationChallengeNonce?: string;
            loginEntryPoint: "login-home"
            | "landing-screen";
            oauthQpl: { instanceId: number; markerId: number };
            passwordTextInputId: string;
            qpl: { instanceId: number; markerId: number };
            recoveryTicket?: string & Brand<"RecoveryActionTicket">;
            usernameTextInputId: string;
            waterfallId: string;
        },
        never,
        MobileNavigation
        | LoginHomepageLaunch,
        {
            createNewAccount: (
                self: ScreenHandle,
                state: {
                    aac: string;
                    attestationChallengeNonce?: string;
                    loginEntryPoint: "login-home" | "landing-screen";
                    oauthQpl: { instanceId: number; markerId: number };
                    passwordTextInputId: string;
                    qpl: { instanceId: number; markerId: number };
                    recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                    usernameTextInputId: string;
                    waterfallId: string;
                },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    RegistrationPhoneNumberDefinition,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "RegistrationPhoneNumber",
                        "screen",
                        {},
                        {
                            submitPhoneNumber: (
                                self: ScreenHandle,
                                state: State,
                            ) => (...args: [phoneNumber: ...]) => Effect<(...), (...), (...)>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | IgNotFoundError
                        | IgRateLimitError
                        | IgSpamError
                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgCookieConsentRequiredError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | IgPrivateUserError
                        | IgInactiveUserError
                        | IgSentryBlockError
                        | IgIpBlockError
                        | IgLoginTwoFactorRequiredError
                        | RequestError
                        | ParseError
                        | TransportError
                        | IgBloks429Error
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | PlainJsonApiHttp
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog,
                >,
            >;
            logIn: (
                self: ScreenHandle,
                state: {
                    aac: string;
                    attestationChallengeNonce?: string;
                    loginEntryPoint: "login-home" | "landing-screen";
                    oauthQpl: { instanceId: number; markerId: number };
                    passwordTextInputId: string;
                    qpl: { instanceId: number; markerId: number };
                    recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                    usernameTextInputId: string;
                    waterfallId: string;
                },
            ) => (
                ...args: [credentials: LoginInput],
            ) => Effect<
                LoginHomepageAnswer,
                | IgNotFoundError
                | IgRateLimitError
                | IgSpamError
                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgCookieConsentRequiredError
                | IgLoginRequiredError
                | IgUserLoggedOutError
                | IgPrivateUserError
                | IgInactiveUserError
                | IgSentryBlockError
                | IgIpBlockError
                | IgLoginTwoFactorRequiredError
                | RequestError
                | ParseError
                | TransportError
                | PasswordEncryptionKeysUnavailableError
                | LoginBloksParseError
                | LoginBloksRejectedError
                | LoginTwoFactorEntrypointParseError
                | LoginAccountRecoveryRequiredError
                | LoginAccountRecoveryContinueError
                | IgBloks429Error
                | IgLoginBadPasswordError
                | AccountRecoveryBloksIssuedParamsMissingError
                | ScreenDataError
                | ScreenEnterConcurrentError
                | ScreenEdgeInputError
                | AppAlreadyStartedError,
                | PlainJsonApiHttp
                | MobileSession
                | MobileDevice
                | MobileApplication
                | SessionHeaderParser
                | BloksHttp
                | MobileDisplayScaleWire
                | MobileNavigation
                | ScreenStack
                | ScreenCatalog
                | TwoFactorTickets
                | AccountRecoveryTickets,
            >;
            openApproveFromAnotherDevice: (
                self: ScreenHandle,
                state: {
                    aac: string;
                    attestationChallengeNonce?: string;
                    loginEntryPoint: "login-home" | "landing-screen";
                    oauthQpl: { instanceId: number; markerId: number };
                    passwordTextInputId: string;
                    qpl: { instanceId: number; markerId: number };
                    recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                    usernameTextInputId: string;
                    waterfallId: string;
                },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "LoginTwoFactorEntrypoint",
                        "screen",
                        undefined,
                        { ticket: string & Brand<"TwoFactorApprovalTicket"> },
                        LoginTwoFactorApproveFromAnotherDeviceState,
                        never,
                        MobileNavigation | TwoFactorTickets,
                        {
                            checkApproval: (
                                self: ScreenHandle,
                                state: LoginTwoFactorApproveFromAnotherDeviceState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                (...)
                                | (...),

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                            tryAnotherWay: (
                                self: ScreenHandle,
                                state: LoginTwoFactorApproveFromAnotherDeviceState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                (...args: []) => Effect<(...), (...), (...)>,
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "LoginTwoFactorEntrypoint",
                        "screen",
                        { ticket: string & Brand<"TwoFactorApprovalTicket"> },
                        {
                            checkApproval: (
                                self: ScreenHandle,
                                state: LoginTwoFactorApproveFromAnotherDeviceState,
                            ) => (...args: []) => Effect<(...), (...), (...)>;
                            tryAnotherWay: (
                                self: ScreenHandle,
                                state: LoginTwoFactorApproveFromAnotherDeviceState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                (...args: ...) => ...,
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,
                    ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                    MobileNavigation | ScreenStack | ScreenCatalog | TwoFactorTickets,
                >,
            >;
            openEmailCode: (
                self: ScreenHandle,
                state: {
                    aac: string;
                    attestationChallengeNonce?: string;
                    loginEntryPoint: "login-home" | "landing-screen";
                    oauthQpl: { instanceId: number; markerId: number };
                    passwordTextInputId: string;
                    qpl: { instanceId: number; markerId: number };
                    recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                    usernameTextInputId: string;
                    waterfallId: string;
                },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "AccountRecoveryEmailCode",
                        "screen",
                        undefined,
                        {
                            maskedContact?: string;
                            ticket: string & Brand<"LastResortCodeEntryTicket">;
                        },
                        {
                            maskedContact?: string;
                            ticket: string & Brand<"LastResortCodeEntryTicket">;
                        },
                        BloksHttpError
                        | AccountRecoveryBloksIssuedParamsMissingError,

                            | MobileSession
                            | MobileDevice
                            | MobileApplication
                            | BloksHttp
                            | MobileDisplayScaleWire
                            | MobileNavigation
                            | AccountRecoveryTickets,
                        {
                            requestNewCode: (
                                self: ScreenHandle,
                                state: { maskedContact?: string; ticket: string & Brand<(...)> },
                            ) => (
                                ...args: [],
                            ) => Effect<
                                (...)
                                | (...),

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                            submitCode: (
                                self: ScreenHandle,
                                state: { maskedContact?: string; ticket: string & Brand<(...)> },
                            ) => (
                                ...args: [code: string],
                            ) => Effect<
                                AccountRecoveryFirstScreen,
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "AccountRecoveryEmailCode",
                        "screen",
                        {
                            maskedContact?: string;
                            ticket: string & Brand<"LastResortCodeEntryTicket">;
                        },
                        {
                            requestNewCode: (
                                self: ScreenHandle,
                                state: { maskedContact?: (...) | (...); ticket: (...) & (...) },
                            ) => (...args: []) => Effect<(...), (...), (...)>;
                            submitCode: (
                                self: ScreenHandle,
                                state: { maskedContact?: (...) | (...); ticket: (...) & (...) },
                            ) => (...args: [code: ...]) => Effect<(...), (...), (...)>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | BloksHttpError
                        | AccountRecoveryBloksIssuedParamsMissingError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | AccountRecoveryTickets,
                >,
            >;
            openMethodPicker: (
                self: ScreenHandle,
                state: {
                    aac: string;
                    attestationChallengeNonce?: string;
                    loginEntryPoint: "login-home" | "landing-screen";
                    oauthQpl: { instanceId: number; markerId: number };
                    passwordTextInputId: string;
                    qpl: { instanceId: number; markerId: number };
                    recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                    usernameTextInputId: string;
                    waterfallId: string;
                },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "LoginTwoFactorMethodPicker",
                        "screen",
                        { ticket?: string & Brand<"TwoFactorApprovalTicket"> },
                        {
                            offeredMethods: readonly (
                                | "approve_from_another_device"
                                | "whatsapp"
                                | "totp"
                                | "sms"
                                | "backup_codes"
                            )[];
                            preselected?: | "approve_from_another_device"
                            | "whatsapp"
                            | "totp"
                            | "sms"
                            | "backup_codes";
                            ticket: string & Brand<"TwoFactorPickerTicket">;
                        },
                        LoginTwoFactorChooseMethodState,
                        BloksHttpError,
                        | MobileDevice
                        | MobileApplication
                        | BloksHttp
                        | MobileDisplayScaleWire
                        | MobileNavigation
                        | TwoFactorTickets,
                        {
                            chooseAuthenticationApp: (
                                self: ScreenHandle,
                                state: LoginTwoFactorChooseMethodState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                (...args: []) => Effect<(...), (...), (...)>,
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "LoginTwoFactorMethodPicker",
                        "screen",
                        {
                            offeredMethods: readonly (
                                | "approve_from_another_device"
                                | "whatsapp"
                                | "totp"
                                | "sms"
                                | "backup_codes"
                            )[];
                            preselected?: | "approve_from_another_device"
                            | "whatsapp"
                            | "totp"
                            | "sms"
                            | "backup_codes";
                            ticket: string & Brand<"TwoFactorPickerTicket">;
                        },
                        {
                            chooseAuthenticationApp: (
                                self: ScreenHandle,
                                state: LoginTwoFactorChooseMethodState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                (...args: ...) => ...,
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | BloksHttpError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | MobileDevice
                    | MobileApplication
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | TwoFactorTickets,
                >,
            >;
            recoverPassword: (
                self: ScreenHandle,
                state: {
                    aac: string;
                    attestationChallengeNonce?: string;
                    loginEntryPoint: "login-home" | "landing-screen";
                    oauthQpl: { instanceId: number; markerId: number };
                    passwordTextInputId: string;
                    qpl: { instanceId: number; markerId: number };
                    recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                    usernameTextInputId: string;
                    waterfallId: string;
                },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "AccountRecoverySearch",
                        "screen",
                        { aac: string; ticket?: string & Brand<"RecoveryActionTicket"> },
                        {
                            aac: string;
                            searchScreenType: string;
                            searchTicket: string & Brand<"SearchTicket">;
                            textInputId: string;
                            waterfallId: string;
                        },
                        {
                            aac: string;
                            searchScreenType: string;
                            searchTicket: string & Brand<"SearchTicket">;
                            textInputId: string;
                            waterfallId: string;
                        },
                        BloksHttpError
                        | AccountRecoveryBloksIssuedParamsMissingError,

                            | MobileDevice
                            | MobileApplication
                            | BloksHttp
                            | MobileDisplayScaleWire
                            | MobileNavigation
                            | AccountRecoveryTickets,
                        {
                            findAccount: (
                                self: ScreenHandle,
                                state: {
                                    aac: string;
                                    searchScreenType: string;
                                    searchTicket: string & Brand<(...)>;
                                    textInputId: string;
                                    waterfallId: string;
                                },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    readonly [(...)],
                                    "button",
                                    AndroidScreens,
                                >,
                                (...args: readonly [(...)]) => Effect<(...), (...), (...)>,
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "AccountRecoverySearch",
                        "screen",
                        {
                            aac: string;
                            searchScreenType: string;
                            searchTicket: string & Brand<"SearchTicket">;
                            textInputId: string;
                            waterfallId: string;
                        },
                        {
                            findAccount: (
                                self: ScreenHandle,
                                state: {
                                    aac: string;
                                    searchScreenType: string;
                                    searchTicket: (...) & (...);
                                    textInputId: string;
                                    waterfallId: string;
                                },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                (...args: ...) => ...,
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | BloksHttpError
                        | AccountRecoveryBloksIssuedParamsMissingError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | MobileDevice
                    | MobileApplication
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | AccountRecoveryTickets,
                >,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    LoginTwoFactorEnterTotpCode: ScreenDefinition<
        "LoginTwoFactorEnterTotpCode",
        "screen",
        { ticket: string & Brand<"TwoFactorPickerTicket"> },
        { ticket: string & Brand<"TwoFactorCodeTicket"> },
        LoginTwoFactorAuthenticationAppCodeState,
        BloksHttpError | TwoFactorBloksIssuedIdMissingError,

            | MobileDevice
            | MobileApplication
            | BloksHttp
            | MobileDisplayScaleWire
            | MobileNavigation
            | TwoFactorTickets,
        {
            checkApproval: (
                self: ScreenHandle,
                state: LoginTwoFactorAuthenticationAppCodeState,
            ) => (
                ...args: [],
            ) => Effect<
                | AppFirstScreen & { status?: undefined }
                | { id?: undefined; status: "still-waiting" } & { raw: ActionRaw },

                    | IgNotFoundError
                    | IgRateLimitError
                    | IgSpamError
                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgCookieConsentRequiredError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | IgPrivateUserError
                    | IgInactiveUserError
                    | IgSentryBlockError
                    | IgIpBlockError
                    | IgLoginTwoFactorRequiredError
                    | RequestError
                    | ParseError
                    | TransportError
                    | LoginBloksParseError
                    | IgBloks429Error
                    | TwoFactorBloksIssuedIdMissingError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | LoginTwoFactorApprovalDeclinedError
                    | AppAlreadyStartedError,
                | MobileSession
                | MobileDevice
                | MobileApplication
                | SessionHeaderParser
                | BloksHttp
                | MobileDisplayScaleWire
                | MobileNavigation
                | ScreenStack
                | TwoFactorTickets,
            >;
            submitCode: (
                self: ScreenHandle,
                state: LoginTwoFactorAuthenticationAppCodeState,
            ) => (
                ...args: [code: string],
            ) => Effect<
                AppFirstScreen,
                | IgNotFoundError
                | IgRateLimitError
                | IgSpamError
                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgCookieConsentRequiredError
                | IgLoginRequiredError
                | IgUserLoggedOutError
                | IgPrivateUserError
                | IgInactiveUserError
                | IgSentryBlockError
                | IgIpBlockError
                | IgLoginTwoFactorRequiredError
                | RequestError
                | ParseError
                | TransportError
                | LoginBloksParseError
                | IgBloks429Error
                | TwoFactorBloksIssuedIdMissingError
                | TwoFactorBloksLoginResponseNotFoundError
                | ScreenDataError
                | ScreenEnterConcurrentError
                | AppAlreadyStartedError
                | LoginTwoFactorAuthenticationAppCodeRejectedError,
                | MobileSession
                | MobileDevice
                | MobileApplication
                | SessionHeaderParser
                | BloksHttp
                | MobileDisplayScaleWire
                | MobileNavigation
                | ScreenStack
                | TwoFactorTickets,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    LoginTwoFactorEntrypoint: ScreenDefinition<
        "LoginTwoFactorEntrypoint",
        "screen",
        undefined,
        { ticket: string & Brand<"TwoFactorApprovalTicket"> },
        LoginTwoFactorApproveFromAnotherDeviceState,
        never,
        MobileNavigation | TwoFactorTickets,
        {
            checkApproval: (
                self: ScreenHandle,
                state: LoginTwoFactorApproveFromAnotherDeviceState,
            ) => (
                ...args: [],
            ) => Effect<
                | AppFirstScreen & { status?: undefined }
                | { id?: undefined; status: "still-waiting" } & { raw: ActionRaw },

                    | IgNotFoundError
                    | IgRateLimitError
                    | IgSpamError
                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgCookieConsentRequiredError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | IgPrivateUserError
                    | IgInactiveUserError
                    | IgSentryBlockError
                    | IgIpBlockError
                    | IgLoginTwoFactorRequiredError
                    | RequestError
                    | ParseError
                    | TransportError
                    | LoginBloksParseError
                    | IgBloks429Error
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | LoginTwoFactorApprovalDeclinedError
                    | AppAlreadyStartedError,
                | MobileSession
                | MobileDevice
                | MobileApplication
                | SessionHeaderParser
                | BloksHttp
                | MobileDisplayScaleWire
                | MobileNavigation
                | ScreenStack
                | TwoFactorTickets,
            >;
            tryAnotherWay: (
                self: ScreenHandle,
                state: LoginTwoFactorApproveFromAnotherDeviceState,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "LoginTwoFactorMethodPicker",
                        "screen",
                        { ticket?: string & Brand<"TwoFactorApprovalTicket"> },
                        {
                            offeredMethods: readonly (
                                | "approve_from_another_device"
                                | "whatsapp"
                                | "totp"
                                | "sms"
                                | "backup_codes"
                            )[];
                            preselected?: | "approve_from_another_device"
                            | "whatsapp"
                            | "totp"
                            | "sms"
                            | "backup_codes";
                            ticket: string & Brand<"TwoFactorPickerTicket">;
                        },
                        LoginTwoFactorChooseMethodState,
                        BloksHttpError,
                        | MobileDevice
                        | MobileApplication
                        | BloksHttp
                        | MobileDisplayScaleWire
                        | MobileNavigation
                        | TwoFactorTickets,
                        {
                            chooseAuthenticationApp: (
                                self: ScreenHandle,
                                state: LoginTwoFactorChooseMethodState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    [],
                                    "button",
                                    AndroidScreens,
                                >,
                                (...args: []) => Effect<(...), (...), (...)>,
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "LoginTwoFactorMethodPicker",
                        "screen",
                        {
                            offeredMethods: readonly (
                                | "approve_from_another_device"
                                | "whatsapp"
                                | "totp"
                                | "sms"
                                | "backup_codes"
                            )[];
                            preselected?: | "approve_from_another_device"
                            | "whatsapp"
                            | "totp"
                            | "sms"
                            | "backup_codes";
                            ticket: string & Brand<"TwoFactorPickerTicket">;
                        },
                        {
                            chooseAuthenticationApp: (
                                self: ScreenHandle,
                                state: LoginTwoFactorChooseMethodState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                (...args: ...) => ...,
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | BloksHttpError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | MobileDevice
                    | MobileApplication
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | TwoFactorTickets,
                >,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    LoginTwoFactorMethodPicker: ScreenDefinition<
        "LoginTwoFactorMethodPicker",
        "screen",
        { ticket?: string & Brand<"TwoFactorApprovalTicket"> },
        {
            offeredMethods: readonly (
                | "approve_from_another_device"
                | "whatsapp"
                | "totp"
                | "sms"
                | "backup_codes"
            )[];
            preselected?: | "approve_from_another_device"
            | "whatsapp"
            | "totp"
            | "sms"
            | "backup_codes";
            ticket: string & Brand<"TwoFactorPickerTicket">;
        },
        LoginTwoFactorChooseMethodState,
        BloksHttpError,
        | MobileDevice
        | MobileApplication
        | BloksHttp
        | MobileDisplayScaleWire
        | MobileNavigation
        | TwoFactorTickets,
        {
            chooseAuthenticationApp: (
                self: ScreenHandle,
                state: LoginTwoFactorChooseMethodState,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "LoginTwoFactorEnterTotpCode",
                        "screen",
                        { ticket: string & Brand<"TwoFactorPickerTicket"> },
                        { ticket: string & Brand<"TwoFactorCodeTicket"> },
                        LoginTwoFactorAuthenticationAppCodeState,
                        BloksHttpError | TwoFactorBloksIssuedIdMissingError,

                            | MobileDevice
                            | MobileApplication
                            | BloksHttp
                            | MobileDisplayScaleWire
                            | MobileNavigation
                            | TwoFactorTickets,
                        {
                            checkApproval: (
                                self: ScreenHandle,
                                state: LoginTwoFactorAuthenticationAppCodeState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                (...)
                                | (...),

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                            submitCode: (
                                self: ScreenHandle,
                                state: LoginTwoFactorAuthenticationAppCodeState,
                            ) => (
                                ...args: [code: string],
                            ) => Effect<
                                AppFirstScreen,
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    [],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "LoginTwoFactorEnterTotpCode",
                        "screen",
                        { ticket: string & Brand<"TwoFactorCodeTicket"> },
                        {
                            checkApproval: (
                                self: ScreenHandle,
                                state: LoginTwoFactorAuthenticationAppCodeState,
                            ) => (...args: []) => Effect<(...), (...), (...)>;
                            submitCode: (
                                self: ScreenHandle,
                                state: LoginTwoFactorAuthenticationAppCodeState,
                            ) => (...args: [code: ...]) => Effect<(...), (...), (...)>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | BloksHttpError
                        | TwoFactorBloksIssuedIdMissingError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | MobileDevice
                    | MobileApplication
                    | BloksHttp
                    | MobileDisplayScaleWire
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog
                    | TwoFactorTickets,
                >,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    MediaComments: ScreenDefinition<
        "MediaComments",
        "screen",
        | {
            carousel?: { children: readonly string[]; slide: number };
            chainingSeedMediaId?: string;
            commentSessionId?: string;
            feedPosition?: string | number;
            mediaId: string;
            rankingSessionId?: string;
            surface: "feed";
        }
        | {
            chainingPosition?: string
            | number;
            chainingSeedMediaId?: string;
            chainingSessionId?: string;
            clientPosition?: string | number;
            commentSessionId?: string;
            mediaId: string;
            rankingSessionId?: string;
            storyRankingToken?: string;
            surface: "reels";
        },
        | {
            commentSessionId: string;
            createdMediaNoteIds: readonly string[];
            mediaId: string;
            slide?: { index: number; mediaId: string };
            surface: "feed";
        }
        | {
            commentSessionId: string;
            createdMediaNoteIds: readonly string[];
            mediaId: string;
            surface: "reels";
        },
        | {
            carousel?: { children: readonly string[]; slide: number };
            chainingSeedMediaId?: string;
            commentSessionId?: string;
            feedPosition?: string | number;
            mediaId: string;
            rankingSessionId?: string;
            surface: "feed";
        } & {
            commentSessionId: string;
            createdMediaNoteIds: readonly string[];
            mediaId: string;
            slide?: { index: number; mediaId: string };
            surface: "feed";
        }
        | never
        | never
        | {
            chainingPosition?: string
            | number;
            chainingSeedMediaId?: string;
            chainingSessionId?: string;
            clientPosition?: string | number;
            commentSessionId?: string;
            mediaId: string;
            rankingSessionId?: string;
            storyRankingToken?: string;
            surface: "reels";
        } & {
            commentSessionId: string;
            createdMediaNoteIds: readonly string[];
            mediaId: string;
            surface: "reels";
        },
        IgApiError
        | RequestError
        | ParseError
        | TransportError
        | ScreenDataError,

            | PlainJsonApiHttp
            | MobileSession
            | MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation
            | JsonResponseHttp
            | MobileUserFlows
            | MediaCommentsReads
            | AndroidQuickPromotionStash,
        {
            comment: (
                self: ScreenHandle,
                state:
                    | {
                        carousel?: { children: readonly string[]; slide: number };
                        chainingSeedMediaId?: string;
                        commentSessionId?: string;
                        feedPosition?: string | number;
                        mediaId: string;
                        rankingSessionId?: string;
                        surface: "feed";
                    } & {
                        commentSessionId: string;
                        createdMediaNoteIds: readonly string[];
                        mediaId: string;
                        slide?: { index: number; mediaId: string };
                        surface: "feed";
                    }
                    | never
                    | never
                    | {
                        chainingPosition?: string
                        | number;
                        chainingSeedMediaId?: string;
                        chainingSessionId?: string;
                        clientPosition?: string | number;
                        commentSessionId?: string;
                        mediaId: string;
                        rankingSessionId?: string;
                        storyRankingToken?: string;
                        surface: "reels";
                    } & {
                        commentSessionId: string;
                        createdMediaNoteIds: readonly string[];
                        mediaId: string;
                        surface: "reels";
                    },
            ) => (
                ...args: [text: string, options?: CommentOptions],
            ) => Effect<
                MediaCommentResponse & { raw: ActionRaw },

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenEnterConcurrentError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | MobileApplication
                | NavigationWire
                | MobileNavigation
                | MobileUserFlows
                | ScreenStack,
            >;
        },
        Record<never, never>,
        never,
        "mediaId",
    >
    PostingGalleryPicker: ScreenDefinition<
        "PostingGalleryPicker",
        "screen",
        { origin: "feed"
        | "reels-tab" },
        { creationSessionId: string; mode: "post"; origin: "feed" | "reels-tab" },
        PostingGalleryPickerState,
        never,
        MobileSession | MobileNavigation | MobileUserFlows | AndroidPostingMedia,
        {
            pickMedia: (
                self: ScreenHandle,
                state: PostingGalleryPickerState,
            ) => (
                ...args: [
                    files: readonly [
                        PostingPhotoInput
                        | PostingVideoInput,
                        PostingPhotoInput | PostingVideoInput,
                        PostingPhotoInput | PostingVideoInput,
                    ],
                ],
            ) => Effect<
                AssembledHandle<
                    "PostingPostEdit",
                    "screen",
                    {
                        creationSessionId: string;
                        media: | readonly [
                            {
                                byteLength: number;
                                height: number;
                                id: string;
                                kind: "photo";
                                mimeType: (...)
                                | (...)
                                | (...);
                                width: number;
                            },
                        ]
                        | readonly [
                            | {
                                byteLength: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            }
                            | {
                                byteLength: ...;
                                durationMs: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            },
                            | {
                                byteLength: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            }
                            | {
                                byteLength: ...;
                                durationMs: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            },
                            | {
                                byteLength: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            }
                            | {
                                byteLength: ...;
                                durationMs: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            },
                        ];
                        origin: "feed"
                        | "reels-tab";
                    },
                    {
                        next: (
                            self: ScreenHandle,
                            state: {
                                creationSessionId: string;
                                media: readonly [(...)] | readonly [(...), (...), (...)];
                                origin: "feed" | "reels-tab";
                            },
                        ) => (
                            ...args: [],
                        ) => Effect<
                            AssembledHandle<
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                            >,

                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),

                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),
                        >;
                    },
                    Record<never, never>,
                    ScreenHandle,
                    "required",
                    true,
                    never,
                    AndroidScreens,
                >,

                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError
                    | PostingMediaFormatError,
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | ScreenStack
                | ScreenCatalog
                | AndroidPostingMedia,
            >;
            pickPhoto: (
                self: ScreenHandle,
                state: PostingGalleryPickerState,
            ) => (
                ...args: [photo: PostingPhotoInput],
            ) => Effect<
                AssembledHandle<
                    "PostingPostEdit",
                    "screen",
                    {
                        creationSessionId: string;
                        media: | readonly [
                            {
                                byteLength: number;
                                height: number;
                                id: string;
                                kind: "photo";
                                mimeType: (...)
                                | (...)
                                | (...);
                                width: number;
                            },
                        ]
                        | readonly [
                            | {
                                byteLength: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            }
                            | {
                                byteLength: ...;
                                durationMs: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            },
                            | {
                                byteLength: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            }
                            | {
                                byteLength: ...;
                                durationMs: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            },
                            | {
                                byteLength: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            }
                            | {
                                byteLength: ...;
                                durationMs: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            },
                        ];
                        origin: "feed"
                        | "reels-tab";
                    },
                    {
                        next: (
                            self: ScreenHandle,
                            state: {
                                creationSessionId: string;
                                media: readonly [(...)] | readonly [(...), (...), (...)];
                                origin: "feed" | "reels-tab";
                            },
                        ) => (
                            ...args: [],
                        ) => Effect<
                            AssembledHandle<
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                            >,

                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),

                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),
                        >;
                    },
                    Record<never, never>,
                    ScreenHandle,
                    "required",
                    true,
                    never,
                    AndroidScreens,
                >,

                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError
                    | PostingMediaFormatError,
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | ScreenStack
                | ScreenCatalog
                | AndroidPostingMedia,
            >;
            pickPhotos: (
                self: ScreenHandle,
                state: PostingGalleryPickerState,
            ) => (
                ...args: [photos: readonly [PostingPhotoInput, PostingPhotoInput]],
            ) => Effect<
                AssembledHandle<
                    "PostingPostEdit",
                    "screen",
                    {
                        creationSessionId: string;
                        media: | readonly [
                            {
                                byteLength: number;
                                height: number;
                                id: string;
                                kind: "photo";
                                mimeType: (...)
                                | (...)
                                | (...);
                                width: number;
                            },
                        ]
                        | readonly [
                            | {
                                byteLength: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            }
                            | {
                                byteLength: ...;
                                durationMs: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            },
                            | {
                                byteLength: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            }
                            | {
                                byteLength: ...;
                                durationMs: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            },
                            | {
                                byteLength: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            }
                            | {
                                byteLength: ...;
                                durationMs: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            },
                        ];
                        origin: "feed"
                        | "reels-tab";
                    },
                    {
                        next: (
                            self: ScreenHandle,
                            state: {
                                creationSessionId: string;
                                media: readonly [(...)] | readonly [(...), (...), (...)];
                                origin: "feed" | "reels-tab";
                            },
                        ) => (
                            ...args: [],
                        ) => Effect<
                            AssembledHandle<
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                            >,

                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),

                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),
                        >;
                    },
                    Record<never, never>,
                    ScreenHandle,
                    "required",
                    true,
                    never,
                    AndroidScreens,
                >,

                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError
                    | PostingMediaFormatError,
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | ScreenStack
                | ScreenCatalog
                | AndroidPostingMedia,
            >;
            pickVideo: (
                self: ScreenHandle,
                state: PostingGalleryPickerState,
            ) => (
                ...args: [video: PostingVideoInput],
            ) => Effect<
                AssembledHandle<
                    "PostingReelEditor",
                    "screen",
                    {
                        assetId: string;
                        creationSessionId: string;
                        draftId: string;
                        entry: "reel-mode"
                        | "post-mode";
                        media: {
                            byteLength: number;
                            durationMs: number;
                            height: number;
                            id: string;
                            kind: "video";
                            mimeType: "video/mp4";
                            width: number;
                        };
                        origin: "feed"
                        | "reels-tab";
                    },
                    {
                        next: EditorNext;
                        openMusicBrowser: (
                            self: ScreenHandle,
                            state: {
                                assetId: string;
                                creationSessionId: string;
                                draftId: string;
                                entry: "reel-mode" | "post-mode";
                                media: {
                                    byteLength: number;
                                    durationMs: number;
                                    height: number;
                                    id: string;
                                    kind: "video";
                                    mimeType: "video/mp4";
                                    width: number;
                                };
                                origin: "feed"
                                | "reels-tab";
                            },
                        ) => (
                            ...args: [],
                        ) => Effect<
                            AssembledHandle<
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                                (...),
                            >,
                            (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            (...) | (...) | (...) | (...) | (...) | (...) | (...),
                        >;
                    },
                    Record<never, never>,
                    ScreenHandle,
                    "required",
                    true,
                    never,
                    AndroidScreens,
                >,

                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError
                    | PostingMediaFormatError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | MobileUserFlows
                | ScreenStack
                | AndroidQuickPromotionStash
                | ScreenCatalog
                | AndroidPostingMedia,
            >;
            switchMode: (
                self: ScreenHandle,
                state: PostingGalleryPickerState,
            ) => (
                ...args: [mode: "reel" | "story"],
            ) => Effect<
                AssembledHandle<
                    "PostingCamera",
                    "screen",
                    {
                        cameraSessionId: string;
                        entry: "reels-tab"
                        | "gallery-picker"
                        | "feed-button"
                        | "camera-switch";
                        mode: "reel" | "story";
                        origin: "feed" | "reels-tab";
                    },
                    {
                        openGallery: (
                            self: ScreenHandle,
                            state: PostingCameraState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            PostingCameraGalleryHandle,
                            (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...),
                            (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                        >;
                        switchMode: (
                            self: ScreenHandle,
                            state: PostingCameraState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                PostingCameraScreenDefinition,
                                readonly [(...)],
                                "button",
                                AndroidScreens,
                            >,
                            (mode: "story") => Effect<(...), (...), (...)>,
                        >;
                    },
                    Record<never, never>,
                    ScreenHandle,
                    "required",
                    true,
                    never,
                    AndroidScreens,
                >,

                    | IgCheckpointError
                    | IgAccountSuspendedError
                    | IgAccountDisabledError
                    | IgLoginRequiredError
                    | IgUserLoggedOutError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | MobileUserFlows
                | ScreenStack
                | ScreenCatalog
                | AndroidPostingMedia,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    PostingPostEdit: ScreenDefinition<
        "PostingPostEdit",
        "screen",
        {
            creationSessionId: string;
            media: | readonly [
                {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                },
            ]
            | readonly [
                | {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                }
                | {
                    byteLength: number;
                    durationMs: number;
                    height: number;
                    id: string;
                    kind: "video";
                    mimeType: "video/mp4";
                    width: number;
                },
                | {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                }
                | {
                    byteLength: number;
                    durationMs: number;
                    height: number;
                    id: string;
                    kind: "video";
                    mimeType: "video/mp4";
                    width: number;
                },
                | {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                }
                | {
                    byteLength: number;
                    durationMs: number;
                    height: number;
                    id: string;
                    kind: "video";
                    mimeType: "video/mp4";
                    width: number;
                },
            ];
            origin: "feed"
            | "reels-tab";
        },
        {
            creationSessionId: string;
            media: | readonly [
                {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                },
            ]
            | readonly [
                | {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                }
                | {
                    byteLength: number;
                    durationMs: number;
                    height: number;
                    id: string;
                    kind: "video";
                    mimeType: "video/mp4";
                    width: number;
                },
                | {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                }
                | {
                    byteLength: number;
                    durationMs: number;
                    height: number;
                    id: string;
                    kind: "video";
                    mimeType: "video/mp4";
                    width: number;
                },
                | {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                }
                | {
                    byteLength: number;
                    durationMs: number;
                    height: number;
                    id: string;
                    kind: "video";
                    mimeType: "video/mp4";
                    width: number;
                },
            ];
            origin: "feed"
            | "reels-tab";
        },
        {
            creationSessionId: string;
            media: | readonly [
                {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                },
            ]
            | readonly [
                | {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                }
                | {
                    byteLength: number;
                    durationMs: number;
                    height: number;
                    id: string;
                    kind: "video";
                    mimeType: "video/mp4";
                    width: number;
                },
                | {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                }
                | {
                    byteLength: number;
                    durationMs: number;
                    height: number;
                    id: string;
                    kind: "video";
                    mimeType: "video/mp4";
                    width: number;
                },
                | {
                    byteLength: number;
                    height: number;
                    id: string;
                    kind: "photo";
                    mimeType: "image/jpeg"
                    | "image/png"
                    | "image/webp";
                    width: number;
                }
                | {
                    byteLength: number;
                    durationMs: number;
                    height: number;
                    id: string;
                    kind: "video";
                    mimeType: "video/mp4";
                    width: number;
                },
            ];
            origin: "feed"
            | "reels-tab";
        },
        | IgCheckpointError
        | IgAccountSuspendedError
        | IgAccountDisabledError
        | IgLoginRequiredError
        | IgUserLoggedOutError,
        MobileDevice
        | GraphqlJsonHttp
        | MobileApplication
        | MobileNavigation,
        {
            next: (
                self: ScreenHandle,
                state: {
                    creationSessionId: string;
                    media:
                        | readonly [
                            {
                                byteLength: number;
                                height: number;
                                id: string;
                                kind: "photo";
                                mimeType: "image/jpeg"
                                | "image/png"
                                | "image/webp";
                                width: number;
                            },
                        ]
                        | readonly [
                            | {
                                byteLength: number;
                                height: number;
                                id: string;
                                kind: "photo";
                                mimeType: "image/jpeg"
                                | "image/png"
                                | "image/webp";
                                width: number;
                            }
                            | {
                                byteLength: number;
                                durationMs: number;
                                height: number;
                                id: string;
                                kind: "video";
                                mimeType: "video/mp4";
                                width: number;
                            },
                            | {
                                byteLength: number;
                                height: number;
                                id: string;
                                kind: "photo";
                                mimeType: "image/jpeg"
                                | "image/png"
                                | "image/webp";
                                width: number;
                            }
                            | {
                                byteLength: number;
                                durationMs: number;
                                height: number;
                                id: string;
                                kind: "video";
                                mimeType: "video/mp4";
                                width: number;
                            },
                            | {
                                byteLength: number;
                                height: number;
                                id: string;
                                kind: "photo";
                                mimeType: "image/jpeg"
                                | "image/png"
                                | "image/webp";
                                width: number;
                            }
                            | {
                                byteLength: number;
                                durationMs: number;
                                height: number;
                                id: string;
                                kind: "video";
                                mimeType: "video/mp4";
                                width: number;
                            },
                        ];
                    origin: "feed"
                    | "reels-tab";
                },
            ) => (
                ...args: [],
            ) => Effect<
                AssembledHandle<
                    "PostingNewPost",
                    "screen",
                    | {
                        creationSessionId: string;
                        kind: "single";
                        media: {
                            byteLength: number;
                            height: number;
                            id: string;
                            kind: "photo";
                            mimeType: "image/jpeg"
                            | "image/png"
                            | "image/webp";
                            width: number;
                        };
                        origin: "feed"
                        | "reels-tab";
                    }
                    | {
                        creationSessionId: string;
                        kind: "carousel";
                        media: readonly [
                            | {
                                byteLength: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            }
                            | {
                                byteLength: ...;
                                durationMs: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            },
                            | {
                                byteLength: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            }
                            | {
                                byteLength: ...;
                                durationMs: ...;
                                height: ...;
                                id: ...;
                                kind: ...;
                                mimeType: ...;
                                width: ...;
                            },
                        ];
                        origin: "feed"
                        | "reels-tab";
                        uploads: {
                            items: readonly { mediaId: ...; navChain?: ...; uploadId: ... }[];
                            sidecarId: string;
                            waterfallId: string;
                        };
                    },
                    {
                        share: (
                            self: ScreenHandle,
                            state:
                                | {
                                    creationSessionId: string;
                                    kind: "single";
                                    media: {
                                        byteLength: ...;
                                        height: ...;
                                        id: ...;
                                        kind: ...;
                                        mimeType: ...;
                                        width: ...;
                                    };
                                    origin: (...)
                                    | (...);
                                }
                                | {
                                    creationSessionId: string;
                                    kind: "carousel";
                                    media: readonly [(...), (...)];
                                    origin: (...) | (...);
                                    uploads: { items: ...; sidecarId: ...; waterfallId: ... };
                                },
                        ) => (
                            ...args: [options: (...) | (...)],
                        ) => Effect<
                            (...) & (...),
                            (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),

                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...)
                                | (...),
                        >;
                    },
                    Record<never, never>,
                    ScreenHandle,
                    "required",
                    true,
                    never,
                    AndroidScreens,
                >,

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | PostingPhotoEncodeError
                    | PostingVideoEncodeError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError
                    | PostingMediaNotInProcessError,
                | PlainJsonApiHttp
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | NavigationWire
                | MobileNavigation
                | JsonResponseHttp
                | MobileUserFlows
                | ScreenStack
                | ScreenCatalog
                | AndroidPostingMedia,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    PostingReelMusicEditor: PostingReelMusicEditorScreenDefinition
    PostingStoryMusicStickerEditor: PostingStoryMusicStickerEditorScreenDefinition
    PostOpenedFromLink: ScreenDefinition<
        "PostOpenedFromLink",
        "screen",
        {
            feedPosition?: string
            | number;
            loggingInfoToken?: string;
            mediaId: string;
        },
        {
            carousel?: {
                children: readonly string[];
                size?: number;
                slide?: number;
            };
            mediaId: string;
            trackingToken: string;
        },
        PostOpenedFromLinkState,
        IgApiError
        | RequestError
        | ParseError
        | TransportError
        | ScreenDataError,
        PlainJsonApiHttp | MobileNavigation | AndroidThrottlingDetector,
        {
            like: (
                self: ScreenHandle,
                state: PostOpenedFromLinkState,
            ) => (
                ...args: [],
            ) => Effect<
                | {
                    data: {
                        xig_media_like: {
                            media: {
                                __typename?: ...;
                                has_liked: ...;
                                id: ...;
                                strong_id__?: ...;
                            };
                        };
                    };
                } & { raw: ActionRaw }
                | MediaLikeRestResponse & { raw: ActionRaw },

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | SchemaError
                    | GraphqlRootFieldMissingError
                    | ScreenEnterConcurrentError
                    | CarouselSlideNotFoundError
                    | CarouselSlidesNotLoadedError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | NavigationWire
                | MobileNavigation
                | MobileUserFlows
                | ScreenStack,
            >;
            openComments: (
                self: ScreenHandle,
                state: PostOpenedFromLinkState,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "MediaComments",
                        "screen",
                        | {
                            carousel?: { children: readonly (...)[]; slide: number };
                            chainingSeedMediaId?: string;
                            commentSessionId?: string;
                            feedPosition?: string | number;
                            mediaId: string;
                            rankingSessionId?: string;
                            surface: "feed";
                        }
                        | {
                            chainingPosition?: string
                            | number;
                            chainingSeedMediaId?: string;
                            chainingSessionId?: string;
                            clientPosition?: string | number;
                            commentSessionId?: string;
                            mediaId: string;
                            rankingSessionId?: string;
                            storyRankingToken?: string;
                            surface: "reels";
                        },
                        | {
                            commentSessionId: string;
                            createdMediaNoteIds: readonly string[];
                            mediaId: string;
                            slide?: { index: number; mediaId: string };
                            surface: "feed";
                        }
                        | {
                            commentSessionId: string;
                            createdMediaNoteIds: readonly string[];
                            mediaId: string;
                            surface: "reels";
                        },
                        | {
                            carousel?: { children: ...; slide: ... };
                            chainingSeedMediaId?: string;
                            commentSessionId?: string;
                            feedPosition?: string | number;
                            mediaId: string;
                            rankingSessionId?: string;
                            surface: "feed";
                        } & {
                            commentSessionId: string;
                            createdMediaNoteIds: readonly string[];
                            mediaId: string;
                            slide?: { index: ...; mediaId: ... };
                            surface: "feed";
                        }
                        | never
                        | never
                        | {
                            chainingPosition?: string
                            | number;
                            chainingSeedMediaId?: string;
                            chainingSessionId?: string;
                            clientPosition?: string | number;
                            commentSessionId?: string;
                            mediaId: string;
                            rankingSessionId?: string;
                            storyRankingToken?: string;
                            surface: "reels";
                        } & {
                            commentSessionId: string;
                            createdMediaNoteIds: readonly string[];
                            mediaId: string;
                            surface: "reels";
                        },
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError,
                        | PlainJsonApiHttp
                        | MobileSession
                        | MobileDevice
                        | GraphqlJsonHttp
                        | MobileApplication
                        | MobileNavigation
                        | JsonResponseHttp
                        | MobileUserFlows
                        | MediaCommentsReads
                        | AndroidQuickPromotionStash,
                        {
                            comment: (
                                self: ScreenHandle,
                                state:
                                    | {
                                        carousel?: ...;
                                        chainingSeedMediaId?: ...;
                                        commentSessionId?: ...;
                                        feedPosition?: ...;
                                        mediaId: ...;
                                        rankingSessionId?: ...;
                                        surface: ...;
                                    } & {
                                        commentSessionId: ...;
                                        createdMediaNoteIds: ...;
                                        mediaId: ...;
                                        slide?: ...;
                                        surface: ...;
                                    }
                                    | never
                                    | never
                                    | {
                                        chainingPosition?: ...;
                                        chainingSeedMediaId?: ...;
                                        chainingSessionId?: ...;
                                        clientPosition?: ...;
                                        commentSessionId?: ...;
                                        mediaId: ...;
                                        rankingSessionId?: ...;
                                        storyRankingToken?: ...;
                                        surface: ...;
                                    } & {
                                        commentSessionId: ...;
                                        createdMediaNoteIds: ...;
                                        mediaId: ...;
                                        surface: ...;
                                    },
                            ) => (
                                ...args: [text: string, options?: (...) | (...)],
                            ) => Effect<
                                (...) & (...),
                                (...) | (...) | (...) | (...) | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                        },
                        Record<never, never>,
                        never,
                        "mediaId",
                    >,
                    readonly [{ commentSessionId?: string; rankingSessionId?: string }],
                    "button",
                    AndroidScreens,
                >,
                (
                    ...args: readonly [
                        { commentSessionId?: string; rankingSessionId?: string },
                    ],
                ) => Effect<
                    AssembledHandle<
                        "MediaComments",
                        "screen",
                        | {
                            commentSessionId: string;
                            createdMediaNoteIds: readonly string[];
                            mediaId: string;
                            slide?: { index: ...; mediaId: ... };
                            surface: "feed";
                        }
                        | {
                            commentSessionId: string;
                            createdMediaNoteIds: readonly string[];
                            mediaId: string;
                            surface: "reels";
                        },
                        {
                            comment: (
                                self: ScreenHandle,
                                state: (...) & (...) | never | never | (...) & (...),
                            ) => (
                                ...args: [text: ..., options?: ...],
                            ) => Effect<(...), (...), (...)>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        "mediaId",
                        AndroidScreens,
                    >,

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | PlainJsonApiHttp
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | JsonResponseHttp
                    | MobileUserFlows
                    | ScreenStack
                    | MediaCommentsReads
                    | AndroidQuickPromotionStash
                    | ScreenCatalog,
                >,
            >;
            repost: (
                self: ScreenHandle,
                state: PostOpenedFromLinkState,
            ) => (
                ...args: [text?: string],
            ) => Effect<
                { note: MediaCreateNoteResponse; trackingToken: string } & {
                    raw: ActionRaw;
                },
                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | SchemaError
                | GraphqlRootFieldMissingError
                | MediaRepostTextTooLongError
                | ScreenEnterConcurrentError
                | CarouselSlideNotFoundError
                | CarouselSlidesNotLoadedError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | NavigationWire
                | MobileNavigation
                | MobileUserFlows
                | ScreenStack,
            >;
            swipeToSlide: (
                self: ScreenHandle,
                state: PostOpenedFromLinkState,
            ) => ScreenDataMember<
                ScreenDataShape,
                (
                    ...args: [index: number],
                ) => Effect<
                    ScreenHandle,
                    ScreenDataActionFailure<
                        CarouselSlideNotFoundError
                        | CarouselSlidesNotLoadedError,
                    >,
                    MobileNavigation | ScreenStack,
                >,
            >;
        },
        Record<never, never>,
        never,
        "mediaId",
    >
    ProfilePostsFeed: SwipeableFeedScreen<
        "ProfilePostsFeed",
        "screen",
        {
            firstMediaId: string;
            firstPosition: number;
            followsAuthor?: boolean;
            media: readonly {
                authorId?: string;
                carousel?: { children: readonly string[]; size?: number };
                dashManifest?: string;
                id: string;
                mediaType?: number;
                takenAt?: number;
                trackingToken?: string;
                videoDuration?: number;
            }[];
            ownerUsername: string;
            pageCursor?: { gridItemsCursor: string; maxId: string };
            userId: string;
        },
        ProfilePostsFeedCursor,
        {
            media: readonly {
                authorId?: string;
                carousel?: { children: readonly string[]; size?: number; slide?: number };
                dashManifest?: string;
                mediaId: string;
                mediaType: 0 | 1 | 2 | 8;
                position: number;
                takenAt?: number;
                trackingToken?: string;
                videoDuration?: number;
            }[];
            next?: { gridItemsCursor: string; maxId: string };
            nextPosition: number;
        },
        | IgApiError
        | RequestError
        | ParseError
        | TransportError
        | SchemaError
        | GraphqlRootFieldMissingError,
        GraphqlJsonHttp
        | MobileApplication,

            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | SchemaError
            | GraphqlRootFieldMissingError
            | ScreenDataError,
        | PlainJsonApiHttp
        | MobileSession
        | MobileDevice
        | GraphqlJsonHttp
        | MobileApplication
        | MobileDisplayScaleWire
        | MobileNavigation
        | AndroidThrottlingDetector,
        {},
        {
            at: "media";
            by: "mediaType";
            key: "mediaId";
            source: { first: ScreenNoItemNodes; next: ScreenItemNodes };
            variants: {
                "0": ScreenItemDefinition<
                    "ProfilePostsFeedMedia",
                    {
                        authorId?: string;
                        carousel?: {
                            children: readonly string[];
                            size?: number;
                            slide?: number;
                        };
                        dashManifest?: string;
                        mediaId: string;
                        mediaType: 0
                        | 1
                        | 2
                        | 8;
                        position: number;
                        takenAt?: number;
                        trackingToken?: string;
                        videoDuration?: number;
                    },
                    {
                        authorId?: string;
                        carousel?: {
                            children: readonly string[];
                            size?: number;
                            slide?: number;
                        };
                        dashManifest?: string;
                        mediaId: string;
                        mediaType: 0
                        | 1
                        | 2
                        | 8;
                        position: number;
                        takenAt?: number;
                        trackingToken?: string;
                        videoDuration?: number;
                    },
                    ProfilePostsFeedMediaState,
                    never,
                    never,
                    {
                        like: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            { data: ... } & { raw: ... }
                            | MediaLikeRestResponse & { raw: ... },

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | ScreenEnterConcurrentError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        openComments: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ScreenDefinition<
                                    "MediaComments",
                                    "screen",
                                    | {
                                        carousel?: ...;
                                        chainingSeedMediaId?: ...;
                                        commentSessionId?: ...;
                                        feedPosition?: ...;
                                        mediaId: ...;
                                        rankingSessionId?: ...;
                                        surface: ...;
                                    }
                                    | {
                                        chainingPosition?: ...;
                                        chainingSeedMediaId?: ...;
                                        chainingSessionId?: ...;
                                        clientPosition?: ...;
                                        commentSessionId?: ...;
                                        mediaId: ...;
                                        rankingSessionId?: ...;
                                        storyRankingToken?: ...;
                                        surface: ...;
                                    },
                                    | {
                                        commentSessionId: ...;
                                        createdMediaNoteIds: ...;
                                        mediaId: ...;
                                        slide?: ...;
                                        surface: ...;
                                    }
                                    | {
                                        commentSessionId: ...;
                                        createdMediaNoteIds: ...;
                                        mediaId: ...;
                                        surface: ...;
                                    },
                                    (...) & (...)
                                    | never
                                    | never
                                    | (...) & (...),

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | MobileNavigation
                                    | JsonResponseHttp
                                    | MobileUserFlows
                                    | MediaCommentsReads
                                    | AndroidQuickPromotionStash,
                                    { comment: (self: ..., state: ...) => ... },
                                    Record<never, never>,
                                    never,
                                    "mediaId",
                                >,
                                readonly [
                                    {
                                        commentSessionId?: (...)
                                        | (...);
                                        rankingSessionId?: (...) | (...);
                                    },
                                ],
                                "button",
                                AndroidScreens,
                            >,
                            (
                                ...args: readonly [
                                    {
                                        commentSessionId?: (...)
                                        | (...);
                                        rankingSessionId?: (...) | (...);
                                    },
                                ],
                            ) => Effect<
                                AssembledHandle<
                                    "MediaComments",
                                    "screen",
                                    (...)
                                    | (...),
                                    { comment: ... },
                                    Record<(...), (...)>,
                                    ScreenHandle,
                                    "required",
                                    true,
                                    "mediaId",
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError,
                                | PlainJsonApiHttp
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation
                                | JsonResponseHttp
                                | MobileUserFlows
                                | ScreenStack
                                | MediaCommentsReads
                                | AndroidQuickPromotionStash
                                | ScreenCatalog,
                            >,
                        >;
                        removeRepost: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            ActionValue<string>,

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError,
                            GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation
                            | ScreenStack,
                        >;
                        repost: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [text?: string],
                        ) => Effect<
                            { note: MediaCreateNoteResponse; trackingToken: string } & {
                                raw: ActionRaw;
                            },
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | SchemaError
                            | GraphqlRootFieldMissingError
                            | MediaRepostTextTooLongError
                            | ScreenDataError
                            | ScreenEnterConcurrentError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        unlike: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            ActionValue<string>,

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError,
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | ScreenStack,
                        >;
                    },
                    { facts: { firstMediaId: string; followsAuthor?: boolean } },
                    never,
                >;
                "1": ScreenItemDefinition<
                    "ProfilePostsFeedPhoto",
                    {
                        authorId?: string;
                        carousel?: {
                            children: readonly string[];
                            size?: number;
                            slide?: number;
                        };
                        dashManifest?: string;
                        mediaId: string;
                        mediaType: 0
                        | 1
                        | 2
                        | 8;
                        position: number;
                        takenAt?: number;
                        trackingToken?: string;
                        videoDuration?: number;
                    },
                    {
                        authorId?: string;
                        carousel?: {
                            children: readonly string[];
                            size?: number;
                            slide?: number;
                        };
                        dashManifest?: string;
                        mediaId: string;
                        mediaType: 0
                        | 1
                        | 2
                        | 8;
                        position: number;
                        takenAt?: number;
                        trackingToken?: string;
                        videoDuration?: number;
                    },
                    ProfilePostsFeedMediaState,
                    never,
                    never,
                    {
                        like: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            { data: ... } & { raw: ... }
                            | MediaLikeRestResponse & { raw: ... },

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | ScreenEnterConcurrentError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        openComments: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ScreenDefinition<
                                    "MediaComments",
                                    "screen",
                                    | {
                                        carousel?: ...;
                                        chainingSeedMediaId?: ...;
                                        commentSessionId?: ...;
                                        feedPosition?: ...;
                                        mediaId: ...;
                                        rankingSessionId?: ...;
                                        surface: ...;
                                    }
                                    | {
                                        chainingPosition?: ...;
                                        chainingSeedMediaId?: ...;
                                        chainingSessionId?: ...;
                                        clientPosition?: ...;
                                        commentSessionId?: ...;
                                        mediaId: ...;
                                        rankingSessionId?: ...;
                                        storyRankingToken?: ...;
                                        surface: ...;
                                    },
                                    | {
                                        commentSessionId: ...;
                                        createdMediaNoteIds: ...;
                                        mediaId: ...;
                                        slide?: ...;
                                        surface: ...;
                                    }
                                    | {
                                        commentSessionId: ...;
                                        createdMediaNoteIds: ...;
                                        mediaId: ...;
                                        surface: ...;
                                    },
                                    (...) & (...)
                                    | never
                                    | never
                                    | (...) & (...),

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | MobileNavigation
                                    | JsonResponseHttp
                                    | MobileUserFlows
                                    | MediaCommentsReads
                                    | AndroidQuickPromotionStash,
                                    { comment: (self: ..., state: ...) => ... },
                                    Record<never, never>,
                                    never,
                                    "mediaId",
                                >,
                                readonly [
                                    {
                                        commentSessionId?: (...)
                                        | (...);
                                        rankingSessionId?: (...) | (...);
                                    },
                                ],
                                "button",
                                AndroidScreens,
                            >,
                            (
                                ...args: readonly [
                                    {
                                        commentSessionId?: (...)
                                        | (...);
                                        rankingSessionId?: (...) | (...);
                                    },
                                ],
                            ) => Effect<
                                AssembledHandle<
                                    "MediaComments",
                                    "screen",
                                    (...)
                                    | (...),
                                    { comment: ... },
                                    Record<(...), (...)>,
                                    ScreenHandle,
                                    "required",
                                    true,
                                    "mediaId",
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError,
                                | PlainJsonApiHttp
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation
                                | JsonResponseHttp
                                | MobileUserFlows
                                | ScreenStack
                                | MediaCommentsReads
                                | AndroidQuickPromotionStash
                                | ScreenCatalog,
                            >,
                        >;
                        removeRepost: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            ActionValue<string>,

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError,
                            GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation
                            | ScreenStack,
                        >;
                        repost: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [text?: string],
                        ) => Effect<
                            { note: MediaCreateNoteResponse; trackingToken: string } & {
                                raw: ActionRaw;
                            },
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | SchemaError
                            | GraphqlRootFieldMissingError
                            | MediaRepostTextTooLongError
                            | ScreenDataError
                            | ScreenEnterConcurrentError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        unlike: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            ActionValue<string>,

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError,
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | ScreenStack,
                        >;
                    },
                    { facts: { firstMediaId: string; followsAuthor?: boolean } },
                    never,
                >;
                "2": ScreenItemDefinition<
                    "ProfilePostsFeedVideo",
                    {
                        authorId?: string;
                        carousel?: {
                            children: readonly string[];
                            size?: number;
                            slide?: number;
                        };
                        dashManifest?: string;
                        mediaId: string;
                        mediaType: 0
                        | 1
                        | 2
                        | 8;
                        position: number;
                        takenAt?: number;
                        trackingToken?: string;
                        videoDuration?: number;
                    },
                    {
                        authorId?: string;
                        carousel?: {
                            children: readonly string[];
                            size?: number;
                            slide?: number;
                        };
                        dashManifest?: string;
                        mediaId: string;
                        mediaType: 0
                        | 1
                        | 2
                        | 8;
                        position: number;
                        takenAt?: number;
                        trackingToken?: string;
                        videoDuration?: number;
                    },
                    ProfilePostsFeedVideoState,
                    never,
                    | MobileSession
                    | MobileDevice
                    | NavigationWire
                    | MobileTelemetry
                    | MobileNetworkWire,
                    {
                        like: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            { data: ... } & { raw: ... }
                            | MediaLikeRestResponse & { raw: ... },

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | ScreenEnterConcurrentError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        openComments: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ScreenDefinition<
                                    "MediaComments",
                                    "screen",
                                    | {
                                        carousel?: ...;
                                        chainingSeedMediaId?: ...;
                                        commentSessionId?: ...;
                                        feedPosition?: ...;
                                        mediaId: ...;
                                        rankingSessionId?: ...;
                                        surface: ...;
                                    }
                                    | {
                                        chainingPosition?: ...;
                                        chainingSeedMediaId?: ...;
                                        chainingSessionId?: ...;
                                        clientPosition?: ...;
                                        commentSessionId?: ...;
                                        mediaId: ...;
                                        rankingSessionId?: ...;
                                        storyRankingToken?: ...;
                                        surface: ...;
                                    },
                                    | {
                                        commentSessionId: ...;
                                        createdMediaNoteIds: ...;
                                        mediaId: ...;
                                        slide?: ...;
                                        surface: ...;
                                    }
                                    | {
                                        commentSessionId: ...;
                                        createdMediaNoteIds: ...;
                                        mediaId: ...;
                                        surface: ...;
                                    },
                                    (...) & (...)
                                    | never
                                    | never
                                    | (...) & (...),

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | MobileNavigation
                                    | JsonResponseHttp
                                    | MobileUserFlows
                                    | MediaCommentsReads
                                    | AndroidQuickPromotionStash,
                                    { comment: (self: ..., state: ...) => ... },
                                    Record<never, never>,
                                    never,
                                    "mediaId",
                                >,
                                readonly [
                                    {
                                        commentSessionId?: (...)
                                        | (...);
                                        rankingSessionId?: (...) | (...);
                                    },
                                ],
                                "button",
                                AndroidScreens,
                            >,
                            (
                                ...args: readonly [
                                    {
                                        commentSessionId?: (...)
                                        | (...);
                                        rankingSessionId?: (...) | (...);
                                    },
                                ],
                            ) => Effect<
                                AssembledHandle<
                                    "MediaComments",
                                    "screen",
                                    (...)
                                    | (...),
                                    { comment: ... },
                                    Record<(...), (...)>,
                                    ScreenHandle,
                                    "required",
                                    true,
                                    "mediaId",
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError,
                                | PlainJsonApiHttp
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation
                                | JsonResponseHttp
                                | MobileUserFlows
                                | ScreenStack
                                | MediaCommentsReads
                                | AndroidQuickPromotionStash
                                | ScreenCatalog,
                            >,
                        >;
                        removeRepost: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            ActionValue<string>,

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError,
                            GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation
                            | ScreenStack,
                        >;
                        repost: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [text?: string],
                        ) => Effect<
                            { note: MediaCreateNoteResponse; trackingToken: string } & {
                                raw: ActionRaw;
                            },
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | SchemaError
                            | GraphqlRootFieldMissingError
                            | MediaRepostTextTooLongError
                            | ScreenDataError
                            | ScreenEnterConcurrentError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        unlike: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            ActionValue<string>,

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError,
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | ScreenStack,
                        >;
                    },
                    { facts: { firstMediaId: string; followsAuthor?: boolean } },
                    never,
                >;
                "8": ScreenItemDefinition<
                    "ProfilePostsFeedCarousel",
                    {
                        authorId?: string;
                        carousel?: {
                            children: readonly string[];
                            size?: number;
                            slide?: number;
                        };
                        dashManifest?: string;
                        mediaId: string;
                        mediaType: 0
                        | 1
                        | 2
                        | 8;
                        position: number;
                        takenAt?: number;
                        trackingToken?: string;
                        videoDuration?: number;
                    },
                    {
                        authorId?: string;
                        carousel?: {
                            children: readonly string[];
                            size?: number;
                            slide?: number;
                        };
                        dashManifest?: string;
                        mediaId: string;
                        mediaType: 0
                        | 1
                        | 2
                        | 8;
                        position: number;
                        takenAt?: number;
                        trackingToken?: string;
                        videoDuration?: number;
                    },
                    ProfilePostsFeedCarouselState,
                    never,
                    never,
                    {
                        like: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            { data: ... } & { raw: ... }
                            | MediaLikeRestResponse & { raw: ... },

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | SchemaError
                                | GraphqlRootFieldMissingError
                                | ScreenEnterConcurrentError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        openComments: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ScreenDefinition<
                                    "MediaComments",
                                    "screen",
                                    | {
                                        carousel?: ...;
                                        chainingSeedMediaId?: ...;
                                        commentSessionId?: ...;
                                        feedPosition?: ...;
                                        mediaId: ...;
                                        rankingSessionId?: ...;
                                        surface: ...;
                                    }
                                    | {
                                        chainingPosition?: ...;
                                        chainingSeedMediaId?: ...;
                                        chainingSessionId?: ...;
                                        clientPosition?: ...;
                                        commentSessionId?: ...;
                                        mediaId: ...;
                                        rankingSessionId?: ...;
                                        storyRankingToken?: ...;
                                        surface: ...;
                                    },
                                    | {
                                        commentSessionId: ...;
                                        createdMediaNoteIds: ...;
                                        mediaId: ...;
                                        slide?: ...;
                                        surface: ...;
                                    }
                                    | {
                                        commentSessionId: ...;
                                        createdMediaNoteIds: ...;
                                        mediaId: ...;
                                        surface: ...;
                                    },
                                    (...) & (...)
                                    | never
                                    | never
                                    | (...) & (...),

                                        | IgApiError
                                        | RequestError
                                        | ParseError
                                        | TransportError
                                        | ScreenDataError,
                                    | PlainJsonApiHttp
                                    | MobileSession
                                    | MobileDevice
                                    | GraphqlJsonHttp
                                    | MobileApplication
                                    | MobileNavigation
                                    | JsonResponseHttp
                                    | MobileUserFlows
                                    | MediaCommentsReads
                                    | AndroidQuickPromotionStash,
                                    { comment: (self: ..., state: ...) => ... },
                                    Record<never, never>,
                                    never,
                                    "mediaId",
                                >,
                                readonly [
                                    {
                                        commentSessionId?: (...)
                                        | (...);
                                        rankingSessionId?: (...) | (...);
                                    },
                                ],
                                "button",
                                AndroidScreens,
                            >,
                            (
                                ...args: readonly [
                                    {
                                        commentSessionId?: (...)
                                        | (...);
                                        rankingSessionId?: (...) | (...);
                                    },
                                ],
                            ) => Effect<
                                AssembledHandle<
                                    "MediaComments",
                                    "screen",
                                    (...)
                                    | (...),
                                    { comment: ... },
                                    Record<(...), (...)>,
                                    ScreenHandle,
                                    "required",
                                    true,
                                    "mediaId",
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError,
                                | PlainJsonApiHttp
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | MobileNavigation
                                | JsonResponseHttp
                                | MobileUserFlows
                                | ScreenStack
                                | MediaCommentsReads
                                | AndroidQuickPromotionStash
                                | ScreenCatalog,
                            >,
                        >;
                        removeRepost: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            ActionValue<string>,

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError,
                            GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation
                            | ScreenStack,
                        >;
                        repost: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [text?: string],
                        ) => Effect<
                            { note: MediaCreateNoteResponse; trackingToken: string } & {
                                raw: ActionRaw;
                            },
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | SchemaError
                            | GraphqlRootFieldMissingError
                            | MediaRepostTextTooLongError
                            | ScreenDataError
                            | ScreenEnterConcurrentError,
                            | PlainJsonApiHttp
                            | Signature
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | MobileUserFlows
                            | ScreenStack,
                        >;
                        swipeToSlide: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedCarouselState,
                        ) => ScreenDataMember<
                            ScreenDataShape,
                            (
                                ...args: [index: number],
                            ) => Effect<
                                ScreenHandle,
                                ScreenDataActionFailure<(...) | (...)>,
                                MobileNavigation | ScreenStack,
                            >,
                        >;
                        unlike: (
                            self: ScreenHandle,
                            state: ProfilePostsFeedMediaState,
                        ) => (
                            ...args: [],
                        ) => Effect<
                            ActionValue<string>,

                                | IgApiError
                                | RequestError
                                | ParseError
                                | TransportError
                                | ScreenEnterConcurrentError,
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | NavigationWire
                            | MobileNavigation
                            | ScreenStack,
                        >;
                    },
                    { facts: { firstMediaId: string; followsAuthor?: boolean } },
                    never,
                >;
            };
        },
        | IgCheckpointError
        | IgAccountSuspendedError
        | IgAccountDisabledError
        | IgLoginRequiredError
        | IgUserLoggedOutError,
        PlainJsonApiHttp,
        { firstMediaId: string; followsAuthor?: boolean },
    >
    RegistrationBirthday: RegistrationBirthdayDefinition
    RegistrationConfirmationCode: RegistrationConfirmationCodeDefinition
    RegistrationName: RegistrationNameDefinition
    RegistrationPassword: RegistrationPasswordDefinition
    RegistrationPhoneNumber: RegistrationPhoneNumberDefinition
    RegistrationTermsOfService: RegistrationTermsOfServiceDefinition
    RegistrationUsername: RegistrationUsernameDefinition
    RepostNoteEditor: ScreenDefinition<
        "RepostNoteEditor",
        "screen",
        { mediaId: string; noteId: string; trackingToken: string },
        { mediaId: string; noteId: string },
        RepostNoteEditorState,
        never,
        MobileApplication | MobileNavigation,
        {
            post: (
                self: ScreenHandle,
                state: RepostNoteEditorState,
            ) => (
                ...args: [text: string],
            ) => Effect<
                {
                    data: {
                        xdt_update_media_note_repost_text: { id: string; text: string };
                    };
                } & { raw: ActionRaw },

                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | SchemaError
                    | GraphqlRootFieldMissingError
                    | MediaRepostTextTooLongError
                    | ScreenEnterConcurrentError,
                GraphqlJsonHttp
                | MobileApplication
                | MobileNavigation
                | ScreenStack,
            >;
        },
        Record<never, never>,
        never,
        "mediaId",
    >
    SearchInput: ScreenDefinition<
        "SearchInput",
        "screen",
        | {
            lastSeenMedia?: readonly {
                mediaIds: readonly string[];
                surfaceType: string;
                timestamp: number;
            }[];
            query: string;
            session?: {
                clientUuidRankToken?: string;
                searchSessionId: string;
                serpSessionId?: string;
                typeaheadSessionId?: string;
            };
        }
        | {
            recent: readonly { fullName: string; userId: string; username: string }[];
        },
        {
            query: string;
            rankToken: string;
            recentAccounts: readonly {
                fullName: string;
                userId: string;
                username: string;
            }[];
            results: readonly (
                | {
                    __typename: "unknown";
                    item: { kind: "unknown"; kindKey?: string; raw: Json };
                    key: string;
                }
                | {
                    __typename: "XDTTypeaheadSearchKeyword";
                    key: string;
                    keyword_lazified: {
                        id: string;
                        name: string;
                        user?: | {
                            full_name?: string;
                            id: string;
                            is_private?: boolean;
                            is_verified?: boolean;
                            latest_reel_media?: number
                            | null;
                            profile_pic_url?: string;
                            search_serp_type?: number | null;
                            username: string;
                        }
                        | null;
                    };
                }
                | {
                    __typename: "XDTTypeaheadSearchUser";
                    key: string;
                    rank_token?: string;
                    user: {
                        full_name?: string;
                        id: string;
                        is_private?: boolean;
                        is_verified?: boolean;
                        latest_reel_media?: number
                        | null;
                        profile_pic_url?: string;
                        search_serp_type?: number | null;
                        username: string;
                    };
                }
                | {
                    __typename: "XDTTypeaheadSearchHashtag";
                    hashtag: { id: string; media_count?: number; name: string };
                    key: string;
                }
                | {
                    __typename: "XDTTypeaheadSearchOverfetchedKeywords";
                    key: string;
                    keywords: readonly {
                        id: string;
                        name: string;
                        user?: | {
                            full_name?: string;
                            id: string;
                            is_private?: boolean;
                            is_verified?: boolean;
                            latest_reel_media?: number
                            | null;
                            profile_pic_url?: string;
                            search_serp_type?: number | null;
                            username: string;
                        }
                        | null;
                    }[];
                    num_keywords_to_show?: number;
                    query_text: string;
                }
            )[];
            session?: {
                clientUuidRankToken: string;
                searchSessionId: string;
                serpSessionId?: string;
                typeaheadSessionId: string;
            };
        },
        SearchInputState,
        | IgApiError
        | RequestError
        | ParseError
        | TransportError
        | SchemaError
        | GraphqlRootFieldMissingError,
        MobileDevice
        | GraphqlJsonHttp
        | MobileApplication
        | MobileNavigation,
        {
            change: (
                self: ScreenHandle,
                state: SearchInputState,
            ) => ScreenDataMember<
                ScreenDataShape,
                (
                    ...args: [query: string],
                ) => Effect<
                    ScreenHandle,
                    ScreenDataActionFailure<
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | SchemaError
                        | GraphqlRootFieldMissingError,
                    >,
                    | MobileSession
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack,
                >,
            >;
            search: (
                self: ScreenHandle,
                state: SearchInputState,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "SearchResultsTopTab",
                        "screen",
                        {
                            lastSeenMedia?: readonly {
                                mediaIds: readonly (...)[];
                                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,

                            | PlainJsonApiHttp
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | MobileNavigation,
                        {
                            openUsers: (
                                self: ScreenHandle,
                                state: {
                                    query: string;
                                    session: {
                                        clientUuidRankToken?: (...) | (...);
                                        searchSessionId: string;
                                        serpSessionId: string;
                                        typeaheadSessionId?: (...) | (...);
                                    };
                                },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    [],
                                    "search_result",
                                    AndroidScreens,
                                >,
                                (...args: []) => Effect<(...), (...), (...)>,
                            >;
                        },
                        Record<never, never>,
                        never,
                        never,
                    >,
                    readonly [string],
                    "search_result",
                    AndroidScreens,
                >,
                (
                    ...args: readonly [string],
                ) => Effect<
                    AssembledHandle<
                        "SearchResultsTopTab",
                        "screen",
                        {
                            query: string;
                            session: {
                                clientUuidRankToken?: string;
                                searchSessionId: string;
                                serpSessionId: string;
                                typeaheadSessionId?: string;
                            };
                        },
                        {
                            openUsers: (
                                self: ScreenHandle,
                                state: {
                                    query: string;
                                    session: {
                                        clientUuidRankToken?: ...;
                                        searchSessionId: ...;
                                        serpSessionId: ...;
                                        typeaheadSessionId?: ...;
                                    };
                                },
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...), (...), (...)>,
                                (...args: ...) => ...,
                            >;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError,
                    | PlainJsonApiHttp
                    | MobileDevice
                    | GraphqlJsonHttp
                    | MobileApplication
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog,
                >,
            >;
        },
        {
            recentAccounts: {
                at: "recentAccounts";
                item: ScreenItemDefinition<
                    "RecentSearchAccount",
                    { fullName: string; userId: string; username: string },
                    { fullName: string; userId: string; username: string },
                    RecentSearchAccountState,
                    never,
                    never,
                    {
                        openProfile: (
                            self: ScreenHandle,
                            state: RecentSearchAccountState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                UserProfileDefinition,
                                [],

                                    | "clips_profile"
                                    | "inbox"
                                    | "tab"
                                    | "cold_start"
                                    | "warm_start"
                                    | "button"
                                    | "search_result"
                                    | "inbox_new_message"
                                    | "suggested_users"
                                    | "third_party_url"
                                    | "message_button"
                                    | "camera_tab_bar"
                                    | "next",
                                AndroidScreens,
                            >,
                            (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    "UserProfile",
                                    "screen",
                                    {
                                        backgroundFailures: ...;
                                        following?: ...;
                                        gridCursor?: ...;
                                        isPrivate: ...;
                                        media: ...;
                                        suggested: ...;
                                        userId: ...;
                                        username: ...;
                                    },
                                    ProfileActions,
                                    { grid: ...; suggestedUsers: ... },
                                    ScreenHandle,
                                    "required",
                                    true,
                                    "userId",
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | SchemaError
                                    | GraphqlRootFieldMissingError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError,
                                | PlainJsonApiHttp
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | PlainNdjsonApiHttp
                                | MobileNavigation
                                | MobileUserFlows
                                | MobileProcessMobileConfig
                                | ScreenStack
                                | AndroidThrottlingDetector
                                | AndroidQuickPromotionStash
                                | ScreenCatalog,
                            >,
                        >;
                    },
                    undefined,
                    never,
                >;
                key: "userId";
                source: ScreenNoItemNodes;
            };
            results: {
                at: "results";
                by: "__typename";
                key: "key";
                source: ScreenNoItemNodes;
                variants: {
                    unknown: ScreenItemDefinition<
                        "SearchInputUnknownResult",
                        {
                            __typename: "unknown";
                            item: { kind: "unknown"; kindKey?: string; raw: Json };
                            key: string;
                        },
                        {
                            __typename: "unknown";
                            item: { kind: "unknown"; kindKey?: string; raw: Json };
                            key: string;
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    XDTTypeaheadSearchHashtag: ScreenItemDefinition<
                        "SearchInputHashtagResult",
                        {
                            __typename: "XDTTypeaheadSearchHashtag";
                            hashtag: { id: string; media_count?: number; name: string };
                            key: string;
                        },
                        {
                            __typename: "XDTTypeaheadSearchHashtag";
                            hashtag: { id: string; media_count?: number; name: string };
                            key: string;
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    XDTTypeaheadSearchKeyword: ScreenItemDefinition<
                        "SearchInputKeywordResult",
                        {
                            __typename: "XDTTypeaheadSearchKeyword";
                            key: string;
                            keyword_lazified: {
                                id: string;
                                name: string;
                                user?: | {
                                    full_name?: string;
                                    id: string;
                                    is_private?: boolean;
                                    is_verified?: boolean;
                                    latest_reel_media?: number
                                    | null;
                                    profile_pic_url?: string;
                                    search_serp_type?: number | null;
                                    username: string;
                                }
                                | null;
                            };
                        },
                        {
                            __typename: "XDTTypeaheadSearchKeyword";
                            key: string;
                            keyword_lazified: {
                                id: string;
                                name: string;
                                user?: | {
                                    full_name?: string;
                                    id: string;
                                    is_private?: boolean;
                                    is_verified?: boolean;
                                    latest_reel_media?: number
                                    | null;
                                    profile_pic_url?: string;
                                    search_serp_type?: number | null;
                                    username: string;
                                }
                                | null;
                            };
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    XDTTypeaheadSearchOverfetchedKeywords: ScreenItemDefinition<
                        "SearchInputOverfetchedKeywordsResult",
                        {
                            __typename: "XDTTypeaheadSearchOverfetchedKeywords";
                            key: string;
                            keywords: readonly {
                                id: string;
                                name: string;
                                user?: | {
                                    full_name?: (...)
                                    | (...);
                                    id: string;
                                    is_private?: (...) | (...) | (...);
                                    is_verified?: (...) | (...) | (...);
                                    latest_reel_media?: (...) | (...) | (...);
                                    profile_pic_url?: (...) | (...);
                                    search_serp_type?: (...) | (...) | (...);
                                    username: string;
                                }
                                | null;
                            }[];
                            num_keywords_to_show?: number;
                            query_text: string;
                        },
                        {
                            __typename: "XDTTypeaheadSearchOverfetchedKeywords";
                            key: string;
                            keywords: readonly {
                                id: string;
                                name: string;
                                user?: | {
                                    full_name?: (...)
                                    | (...);
                                    id: string;
                                    is_private?: (...) | (...) | (...);
                                    is_verified?: (...) | (...) | (...);
                                    latest_reel_media?: (...) | (...) | (...);
                                    profile_pic_url?: (...) | (...);
                                    search_serp_type?: (...) | (...) | (...);
                                    username: string;
                                }
                                | null;
                            }[];
                            num_keywords_to_show?: number;
                            query_text: string;
                        },
                        Record<never, never>,
                        never,
                        never,
                        {},
                        undefined,
                        never,
                    >;
                    XDTTypeaheadSearchUser: ScreenItemDefinition<
                        "SearchInputUserResult",
                        {
                            __typename: "XDTTypeaheadSearchUser";
                            key: string;
                            rank_token?: string;
                            user: {
                                full_name?: string;
                                id: string;
                                is_private?: boolean;
                                is_verified?: boolean;
                                latest_reel_media?: number
                                | null;
                                profile_pic_url?: string;
                                search_serp_type?: number | null;
                                username: string;
                            };
                        },
                        {
                            __typename: "XDTTypeaheadSearchUser";
                            key: string;
                            rank_token?: string;
                            user: {
                                full_name?: string;
                                id: string;
                                is_private?: boolean;
                                is_verified?: boolean;
                                latest_reel_media?: number
                                | null;
                                profile_pic_url?: string;
                                search_serp_type?: number | null;
                                username: string;
                            };
                        },
                        TypeaheadUserRowState,
                        never,
                        never,
                        {
                            openProfile: (
                                self: ScreenHandle,
                                state: TypeaheadUserRowState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    UserProfileDefinition,
                                    [],

                                        | "clips_profile"
                                        | "inbox"
                                        | "tab"
                                        | "cold_start"
                                        | "warm_start"
                                        | "button"
                                        | "search_result"
                                        | "inbox_new_message"
                                        | "suggested_users"
                                        | "third_party_url"
                                        | "message_button"
                                        | "camera_tab_bar"
                                        | "next",
                                    AndroidScreens,
                                >,
                                (
                                    ...args: [],
                                ) => Effect<
                                    AssembledHandle<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),

                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...),
                                >,
                            >;
                        },
                        undefined,
                        never,
                    >;
                };
            };
        },
        never,
        never,
    >
    SearchResultsAccountsTab: ScreenDefinition<
        "SearchResultsAccountsTab",
        "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,
        PlainJsonApiHttp | MobileDevice | NavigationWire | MobileNavigation,
        {},
        {
            results: {
                at: "users";
                item: ScreenItemDefinition<
                    "SearchResultsAccount",
                    {
                        fullName: string;
                        isPrivate: boolean;
                        isVerified: boolean;
                        userId: string;
                        username: string;
                    },
                    {
                        fullName: string;
                        isPrivate: boolean;
                        isVerified: boolean;
                        userId: string;
                        username: string;
                    },
                    SearchResultsAccountState,
                    never,
                    never,
                    {
                        openProfile: (
                            self: ScreenHandle,
                            state: SearchResultsAccountState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                UserProfileDefinition,
                                [],

                                    | "clips_profile"
                                    | "inbox"
                                    | "tab"
                                    | "cold_start"
                                    | "warm_start"
                                    | "button"
                                    | "search_result"
                                    | "inbox_new_message"
                                    | "suggested_users"
                                    | "third_party_url"
                                    | "message_button"
                                    | "camera_tab_bar"
                                    | "next",
                                AndroidScreens,
                            >,
                            (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    "UserProfile",
                                    "screen",
                                    {
                                        backgroundFailures: ...;
                                        following?: ...;
                                        gridCursor?: ...;
                                        isPrivate: ...;
                                        media: ...;
                                        suggested: ...;
                                        userId: ...;
                                        username: ...;
                                    },
                                    ProfileActions,
                                    { grid: ...; suggestedUsers: ... },
                                    ScreenHandle,
                                    "required",
                                    true,
                                    "userId",
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | SchemaError
                                    | GraphqlRootFieldMissingError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError,
                                | PlainJsonApiHttp
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | PlainNdjsonApiHttp
                                | MobileNavigation
                                | MobileUserFlows
                                | MobileProcessMobileConfig
                                | ScreenStack
                                | AndroidThrottlingDetector
                                | AndroidQuickPromotionStash
                                | ScreenCatalog,
                            >,
                        >;
                    },
                    undefined,
                    never,
                >;
                key: "userId";
                source: ScreenItemNodes;
            };
        },
        never,
        never,
    >
    SearchResultsTopTab: ScreenDefinition<
        "SearchResultsTopTab",
        "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,

            | PlainJsonApiHttp
            | MobileDevice
            | GraphqlJsonHttp
            | MobileApplication
            | MobileNavigation,
        {
            openUsers: (
                self: ScreenHandle,
                state: {
                    query: string;
                    session: {
                        clientUuidRankToken?: string;
                        searchSessionId: string;
                        serpSessionId: string;
                        typeaheadSessionId?: string;
                    };
                },
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "SearchResultsAccountsTab",
                        "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,
                        PlainJsonApiHttp | MobileDevice | NavigationWire | MobileNavigation,
                        {},
                        {
                            results: {
                                at: "users";
                                item: ScreenItemDefinition<
                                    "SearchResultsAccount",
                                    {
                                        fullName: string;
                                        isPrivate: boolean;
                                        isVerified: boolean;
                                        userId: string;
                                        username: string;
                                    },
                                    {
                                        fullName: string;
                                        isPrivate: boolean;
                                        isVerified: boolean;
                                        userId: string;
                                        username: string;
                                    },
                                    SearchResultsAccountState,
                                    never,
                                    never,
                                    { openProfile: (self: ..., state: ...) => ... },
                                    undefined,
                                    never,
                                >;
                                key: "userId";
                                source: ScreenItemNodes;
                            };
                        },
                        never,
                        never,
                    >,
                    [],
                    "search_result",
                    AndroidScreens,
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "SearchResultsAccountsTab",
                        "innerTab",
                        {
                            users: readonly {
                                fullName: string;
                                isPrivate: boolean;
                                isVerified: boolean;
                                userId: string;
                                username: string;
                            }[];
                        },
                        {},
                        {
                            results: {
                                at: "users";
                                item: ScreenItemDefinition<
                                    "SearchResultsAccount",
                                    {
                                        fullName: ...;
                                        isPrivate: ...;
                                        isVerified: ...;
                                        userId: ...;
                                        username: ...;
                                    },
                                    {
                                        fullName: ...;
                                        isPrivate: ...;
                                        isVerified: ...;
                                        userId: ...;
                                        username: ...;
                                    },
                                    SearchResultsAccountState,
                                    never,
                                    never,
                                    { openProfile: ... },
                                    undefined,
                                    never,
                                >;
                                key: "userId";
                                source: ScreenItemNodes;
                            };
                        },
                        ScreenHandle,
                        "required",
                        true,
                        never,
                        AndroidScreens,
                    >,
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenDataError
                    | ScreenEnterConcurrentError
                    | ScreenEdgeInputError,
                    | PlainJsonApiHttp
                    | MobileDevice
                    | NavigationWire
                    | MobileNavigation
                    | ScreenStack
                    | ScreenCatalog,
                >,
            >;
        },
        Record<never, never>,
        never,
        never,
    >
    UserProfileReelsTab: ScreenDefinition<
        "UserProfileReelsTab",
        "screen",
        { userId: string },
        {
            clips: readonly {
                code: string;
                id: string;
                media_type: number;
                organic_tracking_token?: string;
                pk: string;
                taken_at?: number;
                user?: { id?: string; pk?: string };
                video_duration?: number;
            }[];
        },
        {
            clips: readonly {
                code: string;
                id: string;
                media_type: number;
                organic_tracking_token?: string;
                pk: string;
                taken_at?: number;
                user?: { id?: string; pk?: string };
                video_duration?: number;
            }[];
        },
        | IgApiError
        | RequestError
        | ParseError
        | TransportError
        | SchemaError
        | GraphqlRootFieldMissingError,
        | MobileSession
        | GraphqlJsonHttp
        | MobileApplication
        | MobileNavigation
        | AndroidThrottlingDetector,
        {},
        {
            clips: {
                at: "clips";
                item: ScreenItemDefinition<
                    "UserProfileReelsTabClip",
                    {
                        code: string;
                        id: string;
                        media_type: number;
                        organic_tracking_token?: string;
                        pk: string;
                        taken_at?: number;
                        user?: { id?: string; pk?: string };
                        video_duration?: number;
                    },
                    {
                        code: string;
                        id: string;
                        media_type: number;
                        organic_tracking_token?: string;
                        pk: string;
                        taken_at?: number;
                        user?: { id?: string; pk?: string };
                        video_duration?: number;
                    },
                    UserProfileReelsTabClipState,
                    never,
                    never,
                    {
                        open: (
                            self: ScreenHandle,
                            state: UserProfileReelsTabClipState,
                        ) => ScreenEdgeBound<
                            ScreenEdgeShape<
                                ReelsViewerScreenDefinition,
                                [],
                                "clips_profile",
                                AndroidScreens,
                            >,
                            (
                                ...args: [],
                            ) => Effect<
                                AssembledHandle<
                                    "ReelsViewer",
                                    "tab",
                                    { entries: ...; next?: ...; opensOnOneReel?: ... },
                                    (...) & (...) & (...),
                                    ScreenFeedItems<(...)>,
                                    ScreenHandle,
                                    "required",
                                    true,
                                    never,
                                    AndroidScreens,
                                >,

                                    | IgApiError
                                    | RequestError
                                    | ParseError
                                    | TransportError
                                    | ScreenDataError
                                    | ScreenEnterConcurrentError
                                    | ScreenEdgeInputError,
                                | PlainJsonApiHttp
                                | Signature
                                | MobileSession
                                | MobileDevice
                                | GraphqlJsonHttp
                                | MobileApplication
                                | NavigationWire
                                | MobileNavigation
                                | MobileUserFlows
                                | ScreenStack
                                | AndroidThrottlingDetector
                                | AndroidClientAddress
                                | ScreenCatalog,
                            >,
                        >;
                    },
                    {
                        clips: readonly {
                            code: string;
                            id: string;
                            media_type: number;
                            organic_tracking_token?: string;
                            pk: string;
                            taken_at?: number;
                            user?: { id?: string; pk?: string };
                            video_duration?: number;
                        }[];
                    },
                    never,
                >;
                key: "code";
                source: ScreenItemNodes;
            };
        },
        never,
        never,
    >