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

    Interface ReelsViewerHandle

    The handle of ReelsViewerScreen: what you hold while the screen is open — its data and its actions (ReelsViewerActions).

    interface ReelsViewerHandle {
        checkpoint: () => Effect<
            ScreenCheckpoint<"ReelsViewer">,
            ScreenCheckpointFailure,
        >;
        current:
            | ScreenListItem<
                ReelsViewerItems,
                AssembledHandle<
                    "ReelsViewer",
                    "tab",
                    {
                        entries: readonly {
                            key: string;
                            media: {
                                code: string;
                                id: string;
                                media_type: number;
                                organic_tracking_token?: string;
                                pk: string;
                                taken_at?: number;
                                user?: { id?: string; pk?: string };
                                video_duration?: number;
                            };
                            position: number;
                        }[];
                        next?: { maxId: string };
                        opensOnOneReel?: boolean;
                    },
                    ReelsViewerActions & Omit<
                        ScreenFeedMembers<
                            {
                                initial?: {
                                    code: string;
                                    id: string;
                                    media_type: number;
                                    organic_tracking_token?: string;
                                    pk: string;
                                    taken_at?: number;
                                    user?: { id?: ...; pk?: ... };
                                    video_duration?: number;
                                };
                                maxId?: string;
                            },
                            ReelsViewerItems,
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | ScreenDataError,
                            | PlainJsonApiHttp
                            | MobileDevice
                            | NavigationWire
                            | AndroidClientAddress,
                        >,
                        "stream",
                    > & ScreenSwipeMembers<
                        {
                            initial?: {
                                code: string;
                                id: string;
                                media_type: number;
                                organic_tracking_token?: string;
                                pk: string;
                                taken_at?: number;
                                user?: { id?: (...)
                                | (...); pk?: (...) | (...) };
                                video_duration?: number;
                            };
                            maxId?: string;
                        },
                        ReelsViewerItems,
                        ScreenFeedSwipeFailure<
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | ScreenDataError,
                            ReelsViewerItems,
                        >,
                        ScreenFeedPageServices<
                            | PlainJsonApiHttp
                            | MobileDevice
                            | NavigationWire
                            | AndroidClientAddress,
                            ReelsViewerItems,
                        >,
                    >,
                    ScreenFeedItems<ReelsViewerItems>,
                    ScreenHandle | undefined,
                    "optional",
                    false,
                    never,
                    unknown,
                >,
            >
            | undefined;
        id: "ReelsViewer";
        items: readonly ScreenListItem<
            ReelsViewerItems & ScreenItemListHidingData,
            AssembledHandle<
                "ReelsViewer",
                "tab",
                {
                    entries: readonly {
                        key: string;
                        media: {
                            code: string;
                            id: string;
                            media_type: number;
                            organic_tracking_token?: string;
                            pk: string;
                            taken_at?: number;
                            user?: { id?: string; pk?: string };
                            video_duration?: number;
                        };
                        position: number;
                    }[];
                    next?: { maxId: string };
                    opensOnOneReel?: boolean;
                },
                ReelsViewerActions & Omit<
                    ScreenFeedMembers<
                        {
                            initial?: {
                                code: string;
                                id: string;
                                media_type: number;
                                organic_tracking_token?: string;
                                pk: string;
                                taken_at?: number;
                                user?: { id?: ...; pk?: ... };
                                video_duration?: number;
                            };
                            maxId?: string;
                        },
                        ReelsViewerItems,
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError,
                        PlainJsonApiHttp
                        | MobileDevice
                        | NavigationWire
                        | AndroidClientAddress,
                    >,
                    "stream",
                > & ScreenSwipeMembers<
                    {
                        initial?: {
                            code: string;
                            id: string;
                            media_type: number;
                            organic_tracking_token?: string;
                            pk: string;
                            taken_at?: number;
                            user?: { id?: (...)
                            | (...); pk?: (...) | (...) };
                            video_duration?: number;
                        };
                        maxId?: string;
                    },
                    ReelsViewerItems,
                    ScreenFeedSwipeFailure<
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError,
                        ReelsViewerItems,
                    >,
                    ScreenFeedPageServices<
                        | PlainJsonApiHttp
                        | MobileDevice
                        | NavigationWire
                        | AndroidClientAddress,
                        ReelsViewerItems,
                    >,
                >,
                ScreenFeedItems<ReelsViewerItems>,
                ScreenHandle | undefined,
                "optional",
                false,
                never,
                unknown,
            >,
        >[];
        kind: "tab";
        nextPage: <Self extends ScreenHandle>(
            this: Self,
        ) => Effect<
            Self
            | undefined,
            ScreenFeedPageFailure<
                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | ScreenDataError,
                ReelsViewerItems,
            >,
            never,
        >;
        openCamera: (
            ...args: [],
        ) => Effect<
            AssembledHandle<
                "PostingCamera",
                "screen",
                {
                    cameraSessionId: string;
                    entry: "feed-button"
                    | "reels-tab"
                    | "gallery-picker"
                    | "camera-switch";
                    mode: "reel" | "story";
                    origin: "feed" | "reels-tab";
                },
                PostingCameraActions,
                Record<never, never>,
                ScreenHandle,
                "required",
                true,
                never,
                unknown,
            >,

                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgLoginRequiredError
                | IgUserLoggedOutError
                | ScreenEnterConcurrentError
                | ScreenDataError
                | ScreenEdgeInputError,
            never,
        >;
        origin: ScreenHandle
        | undefined;
        pipe: {
            <A>(this: A): A;
            <A, B = never>(this: A, ab: (_: A) => B): B;
            <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C;
            <A, B = never, C = never, D = never>(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
            ): D;
            <A, B = never, C = never, D = never, E = never>(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
            ): E;
            <A, B = never, C = never, D = never, E = never, F = never>(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
            ): F;
            <A, B = never, C = never, D = never, E = never, F = never, G = never>(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
            ): G;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
            ): H;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
            ): I;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
            ): J;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
            ): K;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
                L = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
                kl: (_: K) => L,
            ): L;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
                L = never,
                M = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
                kl: (_: K) => L,
                lm: (_: L) => M,
            ): M;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
                L = never,
                M = never,
                N = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
                kl: (_: K) => L,
                lm: (_: L) => M,
                mn: (_: M) => N,
            ): N;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
                L = never,
                M = never,
                N = never,
                O = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
                kl: (_: K) => L,
                lm: (_: L) => M,
                mn: (_: M) => N,
                no: (_: N) => O,
            ): O;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
                L = never,
                M = never,
                N = never,
                O = never,
                P = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
                kl: (_: K) => L,
                lm: (_: L) => M,
                mn: (_: M) => N,
                no: (_: N) => O,
                op: (_: O) => P,
            ): P;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
                L = never,
                M = never,
                N = never,
                O = never,
                P = never,
                Q = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
                kl: (_: K) => L,
                lm: (_: L) => M,
                mn: (_: M) => N,
                no: (_: N) => O,
                op: (_: O) => P,
                pq: (_: P) => Q,
            ): Q;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
                L = never,
                M = never,
                N = never,
                O = never,
                P = never,
                Q = never,
                R = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
                kl: (_: K) => L,
                lm: (_: L) => M,
                mn: (_: M) => N,
                no: (_: N) => O,
                op: (_: O) => P,
                pq: (_: P) => Q,
                qr: (_: Q) => R,
            ): R;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
                L = never,
                M = never,
                N = never,
                O = never,
                P = never,
                Q = never,
                R = never,
                S = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
                kl: (_: K) => L,
                lm: (_: L) => M,
                mn: (_: M) => N,
                no: (_: N) => O,
                op: (_: O) => P,
                pq: (_: P) => Q,
                qr: (_: Q) => R,
                rs: (_: R) => S,
            ): S;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
                L = never,
                M = never,
                N = never,
                O = never,
                P = never,
                Q = never,
                R = never,
                S = never,
                T = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
                kl: (_: K) => L,
                lm: (_: L) => M,
                mn: (_: M) => N,
                no: (_: N) => O,
                op: (_: O) => P,
                pq: (_: P) => Q,
                qr: (_: Q) => R,
                rs: (_: R) => S,
                st: (_: S) => T,
            ): T;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
                L = never,
                M = never,
                N = never,
                O = never,
                P = never,
                Q = never,
                R = never,
                S = never,
                T = never,
                U = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
                kl: (_: K) => L,
                lm: (_: L) => M,
                mn: (_: M) => N,
                no: (_: N) => O,
                op: (_: O) => P,
                pq: (_: P) => Q,
                qr: (_: Q) => R,
                rs: (_: R) => S,
                st: (_: S) => T,
                tu: (_: T) => U,
            ): U;
            <
                A,
                B = never,
                C = never,
                D = never,
                E = never,
                F = never,
                G = never,
                H = never,
                I = never,
                J = never,
                K = never,
                L = never,
                M = never,
                N = never,
                O = never,
                P = never,
                Q = never,
                R = never,
                S = never,
                T = never,
                U = never,
            >(
                this: A,
                ab: (_: A) => B,
                bc: (_: B) => C,
                cd: (_: C) => D,
                de: (_: D) => E,
                ef: (_: E) => F,
                fg: (_: F) => G,
                gh: (_: G) => H,
                hi: (_: H) => I,
                ij: (_: I) => J,
                jk: (_: J) => K,
                kl: (_: K) => L,
                lm: (_: L) => M,
                mn: (_: M) => N,
                no: (_: N) => O,
                op: (_: O) => P,
                pq: (_: P) => Q,
                qr: (_: Q) => R,
                rs: (_: R) => S,
                st: (_: S) => T,
                tu: (_: T) => U,
            ): U;
        };
        raw: readonly RawAnswer[];
        stream: Stream<
            ScreenListItem<
                ReelsViewerItems,
                AssembledHandle<
                    "ReelsViewer",
                    "tab",
                    {
                        entries: readonly {
                            key: string;
                            media: {
                                code: string;
                                id: string;
                                media_type: number;
                                organic_tracking_token?: string;
                                pk: string;
                                taken_at?: number;
                                user?: { id?: string; pk?: string };
                                video_duration?: number;
                            };
                            position: number;
                        }[];
                        next?: { maxId: string };
                        opensOnOneReel?: boolean;
                    },
                    ReelsViewerActions & Omit<
                        ScreenFeedMembers<
                            {
                                initial?: {
                                    code: string;
                                    id: string;
                                    media_type: number;
                                    organic_tracking_token?: string;
                                    pk: string;
                                    taken_at?: number;
                                    user?: { id?: ...; pk?: ... };
                                    video_duration?: number;
                                };
                                maxId?: string;
                            },
                            ReelsViewerItems,
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | ScreenDataError,
                            | PlainJsonApiHttp
                            | MobileDevice
                            | NavigationWire
                            | AndroidClientAddress,
                        >,
                        "stream",
                    > & ScreenSwipeMembers<
                        {
                            initial?: {
                                code: string;
                                id: string;
                                media_type: number;
                                organic_tracking_token?: string;
                                pk: string;
                                taken_at?: number;
                                user?: { id?: (...)
                                | (...); pk?: (...) | (...) };
                                video_duration?: number;
                            };
                            maxId?: string;
                        },
                        ReelsViewerItems,
                        ScreenFeedSwipeFailure<
                            | IgApiError
                            | RequestError
                            | ParseError
                            | TransportError
                            | ScreenDataError,
                            ReelsViewerItems,
                        >,
                        ScreenFeedPageServices<
                            | PlainJsonApiHttp
                            | MobileDevice
                            | NavigationWire
                            | AndroidClientAddress,
                            ReelsViewerItems,
                        >,
                    >,
                    ScreenFeedItems<ReelsViewerItems>,
                    ScreenHandle | undefined,
                    "optional",
                    false,
                    never,
                    unknown,
                >,
            >,
            ScreenFeedSwipeFailure<
                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | ScreenDataError,
                ReelsViewerItems,
            >,
            never,
        >;
        swipeToNext: <Self extends ScreenHandle>(
            this: Self,
        ) => Effect<
            ScreenListItem<ReelsViewerItems, Self>
            | undefined,
            ScreenFeedSwipeFailure<
                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | ScreenDataError,
                ReelsViewerItems,
            >,
            never,
        >;
    }
    Index

    Properties

    checkpoint: () => Effect<
        ScreenCheckpoint<"ReelsViewer">,
        ScreenCheckpointFailure,
    >

    Takes a checkpoint of the process with this screen on top: what a fresh process needs to continue from it (restoreCheckpoint), the stack below included, without opening any screen again.

    current:
        | ScreenListItem<
            ReelsViewerItems,
            AssembledHandle<
                "ReelsViewer",
                "tab",
                {
                    entries: readonly {
                        key: string;
                        media: {
                            code: string;
                            id: string;
                            media_type: number;
                            organic_tracking_token?: string;
                            pk: string;
                            taken_at?: number;
                            user?: { id?: string; pk?: string };
                            video_duration?: number;
                        };
                        position: number;
                    }[];
                    next?: { maxId: string };
                    opensOnOneReel?: boolean;
                },
                ReelsViewerActions & Omit<
                    ScreenFeedMembers<
                        {
                            initial?: {
                                code: string;
                                id: string;
                                media_type: number;
                                organic_tracking_token?: string;
                                pk: string;
                                taken_at?: number;
                                user?: { id?: ...; pk?: ... };
                                video_duration?: number;
                            };
                            maxId?: string;
                        },
                        ReelsViewerItems,
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError,
                        PlainJsonApiHttp
                        | MobileDevice
                        | NavigationWire
                        | AndroidClientAddress,
                    >,
                    "stream",
                > & ScreenSwipeMembers<
                    {
                        initial?: {
                            code: string;
                            id: string;
                            media_type: number;
                            organic_tracking_token?: string;
                            pk: string;
                            taken_at?: number;
                            user?: { id?: (...)
                            | (...); pk?: (...) | (...) };
                            video_duration?: number;
                        };
                        maxId?: string;
                    },
                    ReelsViewerItems,
                    ScreenFeedSwipeFailure<
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError,
                        ReelsViewerItems,
                    >,
                    ScreenFeedPageServices<
                        | PlainJsonApiHttp
                        | MobileDevice
                        | NavigationWire
                        | AndroidClientAddress,
                        ReelsViewerItems,
                    >,
                >,
                ScreenFeedItems<ReelsViewerItems>,
                ScreenHandle | undefined,
                "optional",
                false,
                never,
                unknown,
            >,
        >
        | undefined

    The item in front of the feed when this handle was taken: right after the screen opens, its first item; undefined when the first page holds none (the next swipe brings the first that loads). A later swipe does not change it on this handle.

    id: "ReelsViewer"

    Which screen this is: its id in the screen catalog (an item's: its item id).

    items: readonly ScreenListItem<
        ReelsViewerItems & ScreenItemListHidingData,
        AssembledHandle<
            "ReelsViewer",
            "tab",
            {
                entries: readonly {
                    key: string;
                    media: {
                        code: string;
                        id: string;
                        media_type: number;
                        organic_tracking_token?: string;
                        pk: string;
                        taken_at?: number;
                        user?: { id?: string; pk?: string };
                        video_duration?: number;
                    };
                    position: number;
                }[];
                next?: { maxId: string };
                opensOnOneReel?: boolean;
            },
            ReelsViewerActions & Omit<
                ScreenFeedMembers<
                    {
                        initial?: {
                            code: string;
                            id: string;
                            media_type: number;
                            organic_tracking_token?: string;
                            pk: string;
                            taken_at?: number;
                            user?: { id?: ...; pk?: ... };
                            video_duration?: number;
                        };
                        maxId?: string;
                    },
                    ReelsViewerItems,
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenDataError,
                    PlainJsonApiHttp
                    | MobileDevice
                    | NavigationWire
                    | AndroidClientAddress,
                >,
                "stream",
            > & ScreenSwipeMembers<
                {
                    initial?: {
                        code: string;
                        id: string;
                        media_type: number;
                        organic_tracking_token?: string;
                        pk: string;
                        taken_at?: number;
                        user?: { id?: (...)
                        | (...); pk?: (...) | (...) };
                        video_duration?: number;
                    };
                    maxId?: string;
                },
                ReelsViewerItems,
                ScreenFeedSwipeFailure<
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenDataError,
                    ReelsViewerItems,
                >,
                ScreenFeedPageServices<
                    | PlainJsonApiHttp
                    | MobileDevice
                    | NavigationWire
                    | AndroidClientAddress,
                    ReelsViewerItems,
                >,
            >,
            ScreenFeedItems<ReelsViewerItems>,
            ScreenHandle | undefined,
            "optional",
            false,
            never,
            unknown,
        >,
    >[]

    The page's items, in the answer's order: on the handle, the item handles of this page.

    kind: "tab"

    What kind of thing the screen is: a screen, a tab, an inner tab, a feed or an item.

    nextPage: <Self extends ScreenHandle>(
        this: Self,
    ) => Effect<
        Self
        | undefined,
        ScreenFeedPageFailure<
            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,
            ReelsViewerItems,
        >,
        never,
    >

    Scrolls the feed past this instance's page: requests the page after it — one page request, as the app sends it — and answers a new instance of the feed showing that page, typed as the handle it is called on, or undefined, with nothing sent, when the answer said no page follows. The instance it is called on stays as it was.

    openCamera: (
        ...args: [],
    ) => Effect<
        AssembledHandle<
            "PostingCamera",
            "screen",
            {
                cameraSessionId: string;
                entry: "feed-button"
                | "reels-tab"
                | "gallery-picker"
                | "camera-switch";
                mode: "reel" | "story";
                origin: "feed" | "reels-tab";
            },
            PostingCameraActions,
            Record<never, never>,
            ScreenHandle,
            "required",
            true,
            never,
            unknown,
        >,

            | IgCheckpointError
            | IgAccountSuspendedError
            | IgAccountDisabledError
            | IgLoginRequiredError
            | IgUserLoggedOutError
            | ScreenEnterConcurrentError
            | ScreenDataError
            | ScreenEdgeInputError,
        never,
    >

    Taps the + of the viewer's top bar and opens the creation camera in the Reel mode. The creation flow replaces the viewer, which ends its session there. Answers the camera's handle.

    origin: ScreenHandle | undefined

    The handle this one was opened from: the screen (or the item of its list) whose call opened it, typed as what can open this screen; undefined for a launch's or a tab's root.

    pipe: {
        <A>(this: A): A;
        <A, B = never>(this: A, ab: (_: A) => B): B;
        <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C;
        <A, B = never, C = never, D = never>(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
        ): D;
        <A, B = never, C = never, D = never, E = never>(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
        ): E;
        <A, B = never, C = never, D = never, E = never, F = never>(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
        ): F;
        <A, B = never, C = never, D = never, E = never, F = never, G = never>(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
        ): G;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
        ): H;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
        ): I;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
        ): J;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
        ): K;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
            L = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
            kl: (_: K) => L,
        ): L;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
            L = never,
            M = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
            kl: (_: K) => L,
            lm: (_: L) => M,
        ): M;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
            L = never,
            M = never,
            N = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
            kl: (_: K) => L,
            lm: (_: L) => M,
            mn: (_: M) => N,
        ): N;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
            L = never,
            M = never,
            N = never,
            O = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
            kl: (_: K) => L,
            lm: (_: L) => M,
            mn: (_: M) => N,
            no: (_: N) => O,
        ): O;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
            L = never,
            M = never,
            N = never,
            O = never,
            P = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
            kl: (_: K) => L,
            lm: (_: L) => M,
            mn: (_: M) => N,
            no: (_: N) => O,
            op: (_: O) => P,
        ): P;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
            L = never,
            M = never,
            N = never,
            O = never,
            P = never,
            Q = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
            kl: (_: K) => L,
            lm: (_: L) => M,
            mn: (_: M) => N,
            no: (_: N) => O,
            op: (_: O) => P,
            pq: (_: P) => Q,
        ): Q;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
            L = never,
            M = never,
            N = never,
            O = never,
            P = never,
            Q = never,
            R = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
            kl: (_: K) => L,
            lm: (_: L) => M,
            mn: (_: M) => N,
            no: (_: N) => O,
            op: (_: O) => P,
            pq: (_: P) => Q,
            qr: (_: Q) => R,
        ): R;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
            L = never,
            M = never,
            N = never,
            O = never,
            P = never,
            Q = never,
            R = never,
            S = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
            kl: (_: K) => L,
            lm: (_: L) => M,
            mn: (_: M) => N,
            no: (_: N) => O,
            op: (_: O) => P,
            pq: (_: P) => Q,
            qr: (_: Q) => R,
            rs: (_: R) => S,
        ): S;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
            L = never,
            M = never,
            N = never,
            O = never,
            P = never,
            Q = never,
            R = never,
            S = never,
            T = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
            kl: (_: K) => L,
            lm: (_: L) => M,
            mn: (_: M) => N,
            no: (_: N) => O,
            op: (_: O) => P,
            pq: (_: P) => Q,
            qr: (_: Q) => R,
            rs: (_: R) => S,
            st: (_: S) => T,
        ): T;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
            L = never,
            M = never,
            N = never,
            O = never,
            P = never,
            Q = never,
            R = never,
            S = never,
            T = never,
            U = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
            kl: (_: K) => L,
            lm: (_: L) => M,
            mn: (_: M) => N,
            no: (_: N) => O,
            op: (_: O) => P,
            pq: (_: P) => Q,
            qr: (_: Q) => R,
            rs: (_: R) => S,
            st: (_: S) => T,
            tu: (_: T) => U,
        ): U;
        <
            A,
            B = never,
            C = never,
            D = never,
            E = never,
            F = never,
            G = never,
            H = never,
            I = never,
            J = never,
            K = never,
            L = never,
            M = never,
            N = never,
            O = never,
            P = never,
            Q = never,
            R = never,
            S = never,
            T = never,
            U = never,
        >(
            this: A,
            ab: (_: A) => B,
            bc: (_: B) => C,
            cd: (_: C) => D,
            de: (_: D) => E,
            ef: (_: E) => F,
            fg: (_: F) => G,
            gh: (_: G) => H,
            hi: (_: H) => I,
            ij: (_: I) => J,
            jk: (_: J) => K,
            kl: (_: K) => L,
            lm: (_: L) => M,
            mn: (_: M) => N,
            no: (_: N) => O,
            op: (_: O) => P,
            pq: (_: P) => Q,
            qr: (_: Q) => R,
            rs: (_: R) => S,
            st: (_: S) => T,
            tu: (_: T) => U,
        ): U;
    }

    Passes the handle through the functions you give, left to right: handle.pipe(f, g) is g(f(handle)).

    raw: readonly RawAnswer[]

    The answers this visit received from the server, before any decoding; empty on a handle a checkpoint rebuilt.

    stream: Stream<
        ScreenListItem<
            ReelsViewerItems,
            AssembledHandle<
                "ReelsViewer",
                "tab",
                {
                    entries: readonly {
                        key: string;
                        media: {
                            code: string;
                            id: string;
                            media_type: number;
                            organic_tracking_token?: string;
                            pk: string;
                            taken_at?: number;
                            user?: { id?: string; pk?: string };
                            video_duration?: number;
                        };
                        position: number;
                    }[];
                    next?: { maxId: string };
                    opensOnOneReel?: boolean;
                },
                ReelsViewerActions & Omit<
                    ScreenFeedMembers<
                        {
                            initial?: {
                                code: string;
                                id: string;
                                media_type: number;
                                organic_tracking_token?: string;
                                pk: string;
                                taken_at?: number;
                                user?: { id?: ...; pk?: ... };
                                video_duration?: number;
                            };
                            maxId?: string;
                        },
                        ReelsViewerItems,
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError,
                        PlainJsonApiHttp
                        | MobileDevice
                        | NavigationWire
                        | AndroidClientAddress,
                    >,
                    "stream",
                > & ScreenSwipeMembers<
                    {
                        initial?: {
                            code: string;
                            id: string;
                            media_type: number;
                            organic_tracking_token?: string;
                            pk: string;
                            taken_at?: number;
                            user?: { id?: (...)
                            | (...); pk?: (...) | (...) };
                            video_duration?: number;
                        };
                        maxId?: string;
                    },
                    ReelsViewerItems,
                    ScreenFeedSwipeFailure<
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError,
                        ReelsViewerItems,
                    >,
                    ScreenFeedPageServices<
                        | PlainJsonApiHttp
                        | MobileDevice
                        | NavigationWire
                        | AndroidClientAddress,
                        ReelsViewerItems,
                    >,
                >,
                ScreenFeedItems<ReelsViewerItems>,
                ScreenHandle | undefined,
                "optional",
                false,
                never,
                unknown,
            >,
        >,
        ScreenFeedSwipeFailure<
            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,
            ReelsViewerItems,
        >,
        never,
    >

    A swipeable feed's stream, which replaces the plain feed's: the feed is walked by swipes, as the app does — the items that come in front, starting with the item in front when the stream starts, then one swipeToNext per pull (sending what each swipe sends, the next page requested on the swipe the threshold names), to the feed's end. Each item that comes in front enters its visit; the swipe ends the previous visit. Generic code that reads stream on a swipeable feed therefore swipes; the raw pages of a swipeable feed are nextPage by hand. Nothing runs until it is consumed; stopping, take or a failure makes no swipe beyond the last pulled item.

    swipeToNext: <Self extends ScreenHandle>(
        this: Self,
    ) => Effect<
        ScreenListItem<ReelsViewerItems, Self>
        | undefined,
        ScreenFeedSwipeFailure<
            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,
            ReelsViewerItems,
        >,
        never,
    >

    Swipes to the next item, as the person does: answers the item now in front, or undefined at the end of the feed, a normal result. It moves on from where the process is, whichever handle it is called on, and requests the next page itself on the swipe the screen's threshold names.