BlockNotificationsApi: {
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding?: BlockNotificationsEncoding;
                maxSupportedTransactionVersion?: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards: false;
                transactionDetails: "none";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding?: BlockNotificationsEncoding;
                maxSupportedTransactionVersion?: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards?: true;
                transactionDetails: "none";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding?: BlockNotificationsEncoding;
                maxSupportedTransactionVersion?: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards: false;
                transactionDetails: "signatures";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding?: BlockNotificationsEncoding;
                maxSupportedTransactionVersion?: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards?: true;
                transactionDetails: "signatures";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding?: BlockNotificationsEncoding;
                maxSupportedTransactionVersion: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards: false;
                transactionDetails: "accounts";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding?: BlockNotificationsEncoding;
                showRewards: false;
                transactionDetails: "accounts";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding?: BlockNotificationsEncoding;
                maxSupportedTransactionVersion: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards?: true;
                transactionDetails: "accounts";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding?: BlockNotificationsEncoding;
                showRewards?: true;
                transactionDetails: "accounts";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "base58";
                maxSupportedTransactionVersion: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards: false;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "base58";
                showRewards: false;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "base58";
                maxSupportedTransactionVersion: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards?: true;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "base58";
                showRewards?: true;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "base64";
                maxSupportedTransactionVersion: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards: false;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "base64";
                showRewards: false;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "base64";
                maxSupportedTransactionVersion: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards?: true;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "base64";
                showRewards?: true;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "jsonParsed";
                maxSupportedTransactionVersion: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards: false;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "jsonParsed";
                showRewards: false;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "jsonParsed";
                maxSupportedTransactionVersion: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards?: true;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding: "jsonParsed";
                showRewards?: true;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding?: "json";
                maxSupportedTransactionVersion: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards: false;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            { encoding?: "json"; showRewards: false; transactionDetails?: "full" },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            {
                encoding?: "json";
                maxSupportedTransactionVersion: BlockNotificationsMaxSupportedTransactionVersion;
                showRewards?: true;
                transactionDetails?: "full";
            },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
    blockNotifications(
        filter: BlockNotificationsFilter,
        config?: Readonly<{ commitment?: Omit<Commitment, "processed"> }> & Readonly<
            { encoding?: "json"; showRewards?: true; transactionDetails?: "full" },
        >,
    ): Readonly<{ context: Readonly<{ slot: Slot }>; value: TValue }>;
}

Type declaration