ProgramNotificationsApi: {
    programNotifications(
        programId: Address,
        config: Readonly<
            {
                commitment?: Commitment;
                filters?: readonly Readonly<
                    | { dataSize: ProgramNotificationsDatasizeFilter }
                    | {
                        memcmp:
                            | ProgramNotificationsMemcmpFilterBase58
                            | ProgramNotificationsMemcmpFilterBase64;
                    },
                >[];
            },
        > & Readonly<{ encoding: "base64" }>,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    programNotifications(
        programId: Address,
        config: Readonly<
            {
                commitment?: Commitment;
                filters?: readonly Readonly<
                    | { dataSize: ProgramNotificationsDatasizeFilter }
                    | {
                        memcmp:
                            | ProgramNotificationsMemcmpFilterBase58
                            | ProgramNotificationsMemcmpFilterBase64;
                    },
                >[];
            },
        > & Readonly<{ encoding: "base64+zstd" }>,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    programNotifications(
        programId: Address,
        config: Readonly<
            {
                commitment?: Commitment;
                filters?: readonly Readonly<
                    | { dataSize: ProgramNotificationsDatasizeFilter }
                    | {
                        memcmp:
                            | ProgramNotificationsMemcmpFilterBase58
                            | ProgramNotificationsMemcmpFilterBase64;
                    },
                >[];
            },
        > & Readonly<{ encoding: "jsonParsed" }>,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    programNotifications(
        programId: Address,
        config: Readonly<
            {
                commitment?: Commitment;
                filters?: readonly Readonly<
                    | { dataSize: ProgramNotificationsDatasizeFilter }
                    | {
                        memcmp:
                            | ProgramNotificationsMemcmpFilterBase58
                            | ProgramNotificationsMemcmpFilterBase64;
                    },
                >[];
            },
        > & Readonly<{ encoding: "base58" }>,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    programNotifications(
        programId: Address,
        config?: Readonly<
            {
                commitment?: Commitment;
                filters?: readonly Readonly<
                    | { dataSize: ProgramNotificationsDatasizeFilter }
                    | {
                        memcmp:
                            | ProgramNotificationsMemcmpFilterBase58
                            | ProgramNotificationsMemcmpFilterBase64;
                    },
                >[];
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
}

Type declaration