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

    Interface PostingMusicSearchResultsHandle

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

    interface PostingMusicSearchResultsHandle {
        back: ScreenBackEffect<
            AssembledHandle<
                "PostingMusicBrowser",
                "screen",
                { browseSessionId: string },
                PostingMusicBrowserActions,
                Record<never, never>,
                ScreenHandle,
                "optional",
                true,
                never,
                unknown,
            >,
        >;
        checkpoint: () => Effect<
            ScreenCheckpoint<"PostingMusicSearchResults">,
            ScreenCheckpointFailure,
        >;
        data: {
            keywords: readonly string[];
            query: string;
            results: readonly (
                | {
                    alacornSessionId: string;
                    kind: "track";
                    track: PostingMusicTrack;
                }
                | { kind: "originalAudio"; originalAudio: PostingMusicOriginalAudio }
            )[];
            searchSessionId: string;
        };
        id: "PostingMusicSearchResults";
        kind: "screen";
        listenToTrack: (
            ...args: [
                pick: PostingMusicTrackResult,
                options: PostingMusicPickOptions,
            ],
        ) => Effect<
            ActionValue<undefined>,

                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | ReelSongDownloadError
                | ReelAudioMixError
                | ScreenEnterConcurrentError
                | ScreenDataError
                | PostingMediaNotInProcessError,
            never,
        >;
        loadMoreResults: <Self extends ScreenHandle>(
            this: Self,
            ...args: [],
        ) => Effect<
            Self,
            ScreenDataActionFailure<
                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | ScreenDataError,
            >,
            never,
        >;
        origin: AssembledHandle<
            "PostingMusicBrowser",
            "screen",
            { browseSessionId: string },
            PostingMusicBrowserActions,
            Record<never, never>,
            ScreenHandle,
            "optional",
            true,
            never,
            unknown,
        >;
        pickTrack: (
            ...args: [pick: PostingMusicTrackResult],
        ) => Effect<
            AssembledHandle<
                "PostingStoryMusicStickerEditor",
                "screen",
                {
                    music: {
                        alacornSessionId: string;
                        browseSessionId: string;
                        startMs: number;
                        track: PostingMusicTrack;
                    };
                },
                PostingStoryMusicStickerEditorActions,
                Record<never, never>,
                ScreenHandle,
                "required",
                true,
                never,
                AndroidScreens,
            >,

                | IgCheckpointError
                | IgAccountSuspendedError
                | IgAccountDisabledError
                | IgLoginRequiredError
                | IgUserLoggedOutError
                | ScreenEnterConcurrentError
                | ScreenDataError
                | ScreenEdgeInputError,
            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[];
        selectTrack: (
            ...args: [pick: PostingMusicTrackResult],
        ) => Effect<
            AssembledHandle<
                "PostingReelMusicEditor",
                "screen",
                {
                    music: {
                        alacornSessionId: string;
                        browseSessionId: string;
                        originalVolume: number;
                        songVolume: number;
                        startMs: number;
                        track: PostingMusicTrack;
                    };
                    product: | {
                        container: NavigableScreenId;
                        kind: "story-sticker";
                        nullState: string;
                        wire: string;
                    }
                    | {
                        browseSessionId: string;
                        kind: "reel";
                        media: {
                            byteLength: number;
                            durationMs: number;
                            height: number;
                            id: string;
                            kind: "video";
                            mimeType: "video/mp4";
                            width: number;
                        };
                        nullState: string;
                        overlay: NavigableScreenId;
                        wire: string;
                    };
                },
                PostingReelMusicEditorActions,
                Record<never, never>,
                ScreenHandle,
                "required",
                true,
                never,
                AndroidScreens,
            >,

                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | ReelSongDownloadError
                | ReelAudioMixError
                | ScreenEnterConcurrentError
                | ScreenDataError
                | ScreenEdgeInputError
                | PostingMediaNotInProcessError,
            never,
        >;
        submitQuery: <Self extends ScreenHandle>(
            this: Self,
            ...args: [],
        ) => Effect<
            Self,
            ScreenDataActionFailure<
                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | ScreenDataError,
            >,
            never,
        >;
        toJSON: () => {
            keywords: readonly string[];
            query: string;
            results: readonly (
                | {
                    alacornSessionId: string;
                    kind: "track";
                    track: PostingMusicTrack;
                }
                | { kind: "originalAudio"; originalAudio: PostingMusicOriginalAudio }
            )[];
            searchSessionId: string;
        };
        typeQuery: <Self extends ScreenHandle>(
            this: Self,
            ...args: [text: string],
        ) => Effect<
            Self,
            ScreenDataActionFailure<
                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | ScreenDataError,
            >,
            never,
        >;
    }
    Index

    Properties

    back: ScreenBackEffect<
        AssembledHandle<
            "PostingMusicBrowser",
            "screen",
            { browseSessionId: string },
            PostingMusicBrowserActions,
            Record<never, never>,
            ScreenHandle,
            "optional",
            true,
            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<"PostingMusicSearchResults">,
        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: {
        keywords: readonly string[];
        query: string;
        results: readonly (
            | { alacornSessionId: string; kind: "track"; track: PostingMusicTrack }
            | { kind: "originalAudio"; originalAudio: PostingMusicOriginalAudio }
        )[];
        searchSessionId: string;
    }

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

    Type Declaration

    • Readonlykeywords: readonly string[]

      The suggested keywords of the last typed prefix.

    • Readonlyquery: string

      The text the results are for; empty before anything is typed.

    • Readonlyresults: readonly (
          | { alacornSessionId: string; kind: "track"; track: PostingMusicTrack }
          | { kind: "originalAudio"; originalAudio: PostingMusicOriginalAudio }
      )[]

      The results of the first page, then the second the app asks for with it.

    • ReadonlysearchSessionId: string

      The search session the results belong to (search_session_id, minted when the results screen opens).

    id: "PostingMusicSearchResults"

    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.

    listenToTrack: (
        ...args: [
            pick: PostingMusicTrackResult,
            options: PostingMusicPickOptions,
        ],
    ) => Effect<
        ActionValue<undefined>,

            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ReelSongDownloadError
            | ReelAudioMixError
            | ScreenEnterConcurrentError
            | ScreenDataError
            | PostingMediaNotInProcessError,
        never,
    >

    Taps a song in the Reel's search (pick): the player starts on it and downloads the song for as long as you listen (options.listenMs). Answers the listen.

    loadMoreResults: <Self extends ScreenHandle>(
        this: Self,
        ...args: [],
    ) => Effect<
        Self,
        ScreenDataActionFailure<
            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,
        >,
        never,
    >

    Scrolls the Reel's list down: loads the second page for the text in the field (the story's second page comes with its first). Answers the screen shown again with the longer list.

    origin: AssembledHandle<
        "PostingMusicBrowser",
        "screen",
        { browseSessionId: string },
        PostingMusicBrowserActions,
        Record<never, never>,
        ScreenHandle,
        "optional",
        true,
        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.

    pickTrack: (
        ...args: [pick: PostingMusicTrackResult],
    ) => Effect<
        AssembledHandle<
            "PostingStoryMusicStickerEditor",
            "screen",
            {
                music: {
                    alacornSessionId: string;
                    browseSessionId: string;
                    startMs: number;
                    track: PostingMusicTrack;
                };
            },
            PostingStoryMusicStickerEditorActions,
            Record<never, never>,
            ScreenHandle,
            "required",
            true,
            never,
            AndroidScreens,
        >,

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

    Taps a song in the story's search (pick): sends the selection's tracking and opens the screen that records the song. Answers its 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.

    selectTrack: (
        ...args: [pick: PostingMusicTrackResult],
    ) => Effect<
        AssembledHandle<
            "PostingReelMusicEditor",
            "screen",
            {
                music: {
                    alacornSessionId: string;
                    browseSessionId: string;
                    originalVolume: number;
                    songVolume: number;
                    startMs: number;
                    track: PostingMusicTrack;
                };
                product: | {
                    container: NavigableScreenId;
                    kind: "story-sticker";
                    nullState: string;
                    wire: string;
                }
                | {
                    browseSessionId: string;
                    kind: "reel";
                    media: {
                        byteLength: number;
                        durationMs: number;
                        height: number;
                        id: string;
                        kind: "video";
                        mimeType: "video/mp4";
                        width: number;
                    };
                    nullState: string;
                    overlay: NavigableScreenId;
                    wire: string;
                };
            },
            PostingReelMusicEditorActions,
            Record<never, never>,
            ScreenHandle,
            "required",
            true,
            never,
            AndroidScreens,
        >,

            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ReelSongDownloadError
            | ReelAudioMixError
            | ScreenEnterConcurrentError
            | ScreenDataError
            | ScreenEdgeInputError
            | PostingMediaNotInProcessError,
        never,
    >

    Taps Select on the song the Reel's player plays (pick): sends the selection's tracking and opens the Reel's music editor. Answers its handle.

    submitQuery: <Self extends ScreenHandle>(
        this: Self,
        ...args: [],
    ) => Effect<
        Self,
        ScreenDataActionFailure<
            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,
        >,
        never,
    >

    Taps the keyboard's search key: the same pages, marked as submitted. Available in the story's search; the Reel's search fails with ScreenDataError. Answers the screen shown again with the fresh results.

    toJSON: () => {
        keywords: readonly string[];
        query: string;
        results: readonly (
            | { alacornSessionId: string; kind: "track"; track: PostingMusicTrack }
            | { kind: "originalAudio"; originalAudio: PostingMusicOriginalAudio }
        )[];
        searchSessionId: string;
    }

    The handle as JSON: its data.

    typeQuery: <Self extends ScreenHandle>(
        this: Self,
        ...args: [text: string],
    ) => Effect<
        Self,
        ScreenDataActionFailure<
            | IgApiError
            | RequestError
            | ParseError
            | TransportError
            | ScreenDataError,
        >,
        never,
    >

    Types in the search field (text): loads the keyword suggestions of each prefix and the matching songs (the Reel's first page). Answers the screen shown again with the fresh results.