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

    Interface PostingGalleryPickerHandle

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

    interface PostingGalleryPickerHandle {
        back: ScreenBackEffect<
            AssembledHandle<
                "FeedTimeline",
                "tab",
                {
                    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;
                                ranking_info_token?: 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;
                                ranking_info_token?: 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;
                                ranking_info_token?: 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;
                                ranking_info_token?: 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;
                },
                FeedTimelineActions & Omit<
                    ScreenFeedMembers<
                        {
                            lastTakenAt?: number;
                            nextMaxId?: string;
                            position?: number;
                            reason: TimelineFeedReason;
                            requestId?: string;
                        },
                        FeedTimelineItems,
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError,
                        | PlainJsonApiHttp
                        | MobileSession
                        | MobileDevice
                        | MobileApplication
                        | NavigationWire
                        | MobileProcessMobileConfig
                        | MobileUserFlows,
                    >,
                    "stream",
                > & ScreenSwipeMembers<
                    {
                        lastTakenAt?: number;
                        nextMaxId?: string;
                        position?: number;
                        reason: TimelineFeedReason;
                        requestId?: string;
                    },
                    FeedTimelineItems,
                    ScreenFeedSwipeFailure<
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | ScreenDataError,
                        FeedTimelineItems,
                    >,
                    ScreenFeedPageServices<
                        | PlainJsonApiHttp
                        | MobileSession
                        | MobileDevice
                        | MobileApplication
                        | NavigationWire
                        | MobileProcessMobileConfig
                        | MobileUserFlows,
                        FeedTimelineItems,
                    >,
                >,
                ScreenFeedItems<FeedTimelineItems>,
                ScreenHandle,
                "optional",
                false,
                never,
                unknown,
            >,
        >;
        checkpoint: () => Effect<
            ScreenCheckpoint<"PostingGalleryPicker">,
            ScreenCheckpointFailure,
        >;
        data: {
            creationSessionId: string;
            mode: "post";
            origin: "feed" | "reels-tab";
        };
        id: "PostingGalleryPicker";
        kind: "screen";
        origin: AssembledHandle<
            "FeedTimeline",
            "tab",
            {
                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;
                            ranking_info_token?: 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;
                            ranking_info_token?: 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;
                            ranking_info_token?: 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;
                            ranking_info_token?: 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;
            },
            FeedTimelineActions & Omit<
                ScreenFeedMembers<
                    {
                        lastTakenAt?: number;
                        nextMaxId?: string;
                        position?: number;
                        reason: TimelineFeedReason;
                        requestId?: string;
                    },
                    FeedTimelineItems,
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenDataError,
                    | PlainJsonApiHttp
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | NavigationWire
                    | MobileProcessMobileConfig
                    | MobileUserFlows,
                >,
                "stream",
            > & ScreenSwipeMembers<
                {
                    lastTakenAt?: number;
                    nextMaxId?: string;
                    position?: number;
                    reason: TimelineFeedReason;
                    requestId?: string;
                },
                FeedTimelineItems,
                ScreenFeedSwipeFailure<
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenDataError,
                    FeedTimelineItems,
                >,
                ScreenFeedPageServices<
                    | PlainJsonApiHttp
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | NavigationWire
                    | MobileProcessMobileConfig
                    | MobileUserFlows,
                    FeedTimelineItems,
                >,
            >,
            ScreenFeedItems<FeedTimelineItems>,
            ScreenHandle,
            "optional",
            false,
            never,
            unknown,
        >;
        pickMedia: (
            ...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: "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";
                },
                PostingPostEditActions,
                Record<never, never>,
                ScreenHandle,
                "required",
                true,
                never,
                AndroidScreens,
            >,

                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgLoginRequiredError
                | IgUserLoggedOutError
                | ScreenEnterConcurrentError
                | ScreenDataError
                | ScreenEdgeInputError
                | PostingMediaFormatError,
            never,
        >;
        pickPhoto: (
            ...args: [photo: PostingPhotoInput],
        ) => Effect<
            AssembledHandle<
                "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";
                },
                PostingPostEditActions,
                Record<never, never>,
                ScreenHandle,
                "required",
                true,
                never,
                AndroidScreens,
            >,

                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgLoginRequiredError
                | IgUserLoggedOutError
                | ScreenEnterConcurrentError
                | ScreenDataError
                | ScreenEdgeInputError
                | PostingMediaFormatError,
            never,
        >;
        pickPhotos: (
            ...args: [photos: readonly [PostingPhotoInput, PostingPhotoInput]],
        ) => Effect<
            AssembledHandle<
                "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";
                },
                PostingPostEditActions,
                Record<never, never>,
                ScreenHandle,
                "required",
                true,
                never,
                AndroidScreens,
            >,

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

                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgLoginRequiredError
                | IgUserLoggedOutError
                | ScreenEnterConcurrentError
                | ScreenDataError
                | ScreenEdgeInputError
                | PostingMediaFormatError,
            never,
        >;
        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[];
        switchMode: (
            ...args: [mode: "reel" | "story"],
        ) => 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,
                AndroidScreens,
            >,

                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgLoginRequiredError
                | IgUserLoggedOutError
                | ScreenEnterConcurrentError
                | ScreenDataError
                | ScreenEdgeInputError,
            never,
        >;
        toJSON: () => {
            creationSessionId: string;
            mode: "post";
            origin: "feed"
            | "reels-tab";
        };
    }
    Index

    Properties

    back: ScreenBackEffect<
        AssembledHandle<
            "FeedTimeline",
            "tab",
            {
                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;
                            ranking_info_token?: 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;
                            ranking_info_token?: 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;
                            ranking_info_token?: 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;
                            ranking_info_token?: 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;
            },
            FeedTimelineActions & Omit<
                ScreenFeedMembers<
                    {
                        lastTakenAt?: number;
                        nextMaxId?: string;
                        position?: number;
                        reason: TimelineFeedReason;
                        requestId?: string;
                    },
                    FeedTimelineItems,
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenDataError,
                    | PlainJsonApiHttp
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | NavigationWire
                    | MobileProcessMobileConfig
                    | MobileUserFlows,
                >,
                "stream",
            > & ScreenSwipeMembers<
                {
                    lastTakenAt?: number;
                    nextMaxId?: string;
                    position?: number;
                    reason: TimelineFeedReason;
                    requestId?: string;
                },
                FeedTimelineItems,
                ScreenFeedSwipeFailure<
                    | IgApiError
                    | RequestError
                    | ParseError
                    | TransportError
                    | ScreenDataError,
                    FeedTimelineItems,
                >,
                ScreenFeedPageServices<
                    | PlainJsonApiHttp
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | NavigationWire
                    | MobileProcessMobileConfig
                    | MobileUserFlows,
                    FeedTimelineItems,
                >,
            >,
            ScreenFeedItems<FeedTimelineItems>,
            ScreenHandle,
            "optional",
            false,
            never,
            unknown,
        >,
    >

    Goes back, as the system back does: closes this screen and answers the screen below it, typed as the screens that can open this one.

    checkpoint: () => Effect<
        ScreenCheckpoint<"PostingGalleryPicker">,
        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.

    data: { creationSessionId: string; mode: "post"; origin: "feed" | "reels-tab" }

    What the screen shows: its data, as its data schema types it.

    Type Declaration

    • ReadonlycreationSessionId: string
    • Readonlymode: "post"

      The mode selector's position: this screen is the POST mode's gallery.

    • Readonlyorigin: "feed" | "reels-tab"
    id: "PostingGalleryPicker"

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

    kind: "screen"

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

    origin: AssembledHandle<
        "FeedTimeline",
        "tab",
        {
            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;
                        ranking_info_token?: 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;
                        ranking_info_token?: 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;
                        ranking_info_token?: 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;
                        ranking_info_token?: 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;
        },
        FeedTimelineActions & Omit<
            ScreenFeedMembers<
                {
                    lastTakenAt?: number;
                    nextMaxId?: string;
                    position?: number;
                    reason: TimelineFeedReason;
                    requestId?: string;
                },
                FeedTimelineItems,
                IgApiError
                | RequestError
                | ParseError
                | TransportError
                | ScreenDataError,

                    | PlainJsonApiHttp
                    | MobileSession
                    | MobileDevice
                    | MobileApplication
                    | NavigationWire
                    | MobileProcessMobileConfig
                    | MobileUserFlows,
            >,
            "stream",
        > & ScreenSwipeMembers<
            {
                lastTakenAt?: number;
                nextMaxId?: string;
                position?: number;
                reason: TimelineFeedReason;
                requestId?: string;
            },
            FeedTimelineItems,
            ScreenFeedSwipeFailure<
                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | ScreenDataError,
                FeedTimelineItems,
            >,
            ScreenFeedPageServices<
                | PlainJsonApiHttp
                | MobileSession
                | MobileDevice
                | MobileApplication
                | NavigationWire
                | MobileProcessMobileConfig
                | MobileUserFlows,
                FeedTimelineItems,
            >,
        >,
        ScreenFeedItems<FeedTimelineItems>,
        ScreenHandle,
        "optional",
        false,
        never,
        unknown,
    >

    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.

    pickMedia: (
        ...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: "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";
            },
            PostingPostEditActions,
            Record<never, never>,
            ScreenHandle,
            "required",
            true,
            never,
            AndroidScreens,
        >,

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

    Picks photos and videos together in the Select mode (at least two files; each file's kind is read from its bytes): a carousel with a video child. Answers the post editor's handle.

    pickPhoto: (
        ...args: [photo: PostingPhotoInput],
    ) => Effect<
        AssembledHandle<
            "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";
            },
            PostingPostEditActions,
            Record<never, never>,
            ScreenHandle,
            "required",
            true,
            never,
            AndroidScreens,
        >,

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

    Picks one photo in the grid (photo.file holds its bytes): reads its format and dimensions, keeps it in the process's media pool and opens the post editor. Answers the editor's handle.

    pickPhotos: (
        ...args: [photos: readonly [PostingPhotoInput, PostingPhotoInput]],
    ) => Effect<
        AssembledHandle<
            "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";
            },
            PostingPostEditActions,
            Record<never, never>,
            ScreenHandle,
            "required",
            true,
            never,
            AndroidScreens,
        >,

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

    Turns on the grid's Select mode and picks one or more photos (at least one, by type): a carousel. Answers the post editor's handle.

    pickVideo: (
        ...args: [video: PostingVideoInput],
    ) => Effect<
        AssembledHandle<
            "PostingReelEditor",
            "screen",
            {
                assetId: string;
                creationSessionId: string;
                draftId: string;
                entry: "post-mode"
                | "reel-mode";
                media: {
                    byteLength: number;
                    durationMs: number;
                    height: number;
                    id: string;
                    kind: "video";
                    mimeType: "video/mp4";
                    width: number;
                };
                origin: "feed"
                | "reels-tab";
            },
            PostingReelEditorActions,
            Record<never, never>,
            ScreenHandle,
            "required",
            true,
            never,
            AndroidScreens,
        >,

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

    Picks one video in the post mode (video.file holds its bytes). The app takes it through the creation camera and opens the Reel editor, so it publishes as a Reel. Answers the Reel editor's handle.

    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.

    switchMode: (
        ...args: [mode: "reel" | "story"],
    ) => 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,
            AndroidScreens,
        >,

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

    Moves the mode selector to REEL or STORY (mode) and opens the creation camera. Answers the camera's handle.

    toJSON: () => {
        creationSessionId: string;
        mode: "post";
        origin: "feed"
        | "reels-tab";
    }

    The handle as JSON: its data.