import * as _tanstack_react_query from '@tanstack/react-query';
import { UseQueryOptions } from '@tanstack/react-query';
import * as openapi_fetch from 'openapi-fetch';
import * as _rss3_api_core_schema from '@rss3/api-core/schema';
import { getNodeRewards } from '@rss3/api-core';

declare function useGetNodeRewards(params: Parameters<typeof getNodeRewards> | Parameters<typeof getNodeRewards>[0], options?: Omit<UseQueryOptions<ReturnType<typeof getNodeRewards>>, "queryKey" | "queryFn">): {
    queryKey: (string | {
        address: string;
        cursor?: string | undefined;
        limit?: number | undefined;
    } | [params: {
        address: string;
        cursor?: string | undefined;
        limit?: number | undefined;
    }, init?: Omit<openapi_fetch.FetchOptions<{
        parameters: {
            query?: {
                cursor?: _rss3_api_core_schema.components["parameters"]["cursor_query"];
                limit?: _rss3_api_core_schema.components["parameters"]["limit_1_20"];
            };
            header?: never;
            path: {
                address: _rss3_api_core_schema.components["parameters"]["node_address_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            200: _rss3_api_core_schema.components["responses"]["NodeRewardsByEpochResponse"];
            400: _rss3_api_core_schema.components["responses"]["400"];
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            500: _rss3_api_core_schema.components["responses"]["500"];
        };
    }>, "params"> | null | undefined, client?: Readonly<{
        baseUrl: string;
    } & Readonly<{
        baseUrl: string;
    } & openapi_fetch.Client<_rss3_api_core_schema.paths, `${string}/${string}`>>> | undefined])[];
    data: Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>;
    error: Error;
    isError: true;
    isPending: false;
    isLoading: false;
    isLoadingError: false;
    isRefetchError: true;
    isSuccess: false;
    status: "error";
    dataUpdatedAt: number;
    errorUpdatedAt: number;
    failureCount: number;
    failureReason: Error | null;
    errorUpdateCount: number;
    isFetched: boolean;
    isFetchedAfterMount: boolean;
    isFetching: boolean;
    isInitialLoading: boolean;
    isPaused: boolean;
    isPlaceholderData: boolean;
    isRefetching: boolean;
    isStale: boolean;
    refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>, Error>>;
    fetchStatus: _tanstack_react_query.FetchStatus;
    promise: Promise<Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>>;
} | {
    queryKey: (string | {
        address: string;
        cursor?: string | undefined;
        limit?: number | undefined;
    } | [params: {
        address: string;
        cursor?: string | undefined;
        limit?: number | undefined;
    }, init?: Omit<openapi_fetch.FetchOptions<{
        parameters: {
            query?: {
                cursor?: _rss3_api_core_schema.components["parameters"]["cursor_query"];
                limit?: _rss3_api_core_schema.components["parameters"]["limit_1_20"];
            };
            header?: never;
            path: {
                address: _rss3_api_core_schema.components["parameters"]["node_address_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            200: _rss3_api_core_schema.components["responses"]["NodeRewardsByEpochResponse"];
            400: _rss3_api_core_schema.components["responses"]["400"];
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            500: _rss3_api_core_schema.components["responses"]["500"];
        };
    }>, "params"> | null | undefined, client?: Readonly<{
        baseUrl: string;
    } & Readonly<{
        baseUrl: string;
    } & openapi_fetch.Client<_rss3_api_core_schema.paths, `${string}/${string}`>>> | undefined])[];
    data: Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>;
    error: null;
    isError: false;
    isPending: false;
    isLoading: false;
    isLoadingError: false;
    isRefetchError: false;
    isSuccess: true;
    status: "success";
    dataUpdatedAt: number;
    errorUpdatedAt: number;
    failureCount: number;
    failureReason: Error | null;
    errorUpdateCount: number;
    isFetched: boolean;
    isFetchedAfterMount: boolean;
    isFetching: boolean;
    isInitialLoading: boolean;
    isPaused: boolean;
    isPlaceholderData: boolean;
    isRefetching: boolean;
    isStale: boolean;
    refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>, Error>>;
    fetchStatus: _tanstack_react_query.FetchStatus;
    promise: Promise<Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>>;
} | {
    queryKey: (string | {
        address: string;
        cursor?: string | undefined;
        limit?: number | undefined;
    } | [params: {
        address: string;
        cursor?: string | undefined;
        limit?: number | undefined;
    }, init?: Omit<openapi_fetch.FetchOptions<{
        parameters: {
            query?: {
                cursor?: _rss3_api_core_schema.components["parameters"]["cursor_query"];
                limit?: _rss3_api_core_schema.components["parameters"]["limit_1_20"];
            };
            header?: never;
            path: {
                address: _rss3_api_core_schema.components["parameters"]["node_address_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            200: _rss3_api_core_schema.components["responses"]["NodeRewardsByEpochResponse"];
            400: _rss3_api_core_schema.components["responses"]["400"];
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            500: _rss3_api_core_schema.components["responses"]["500"];
        };
    }>, "params"> | null | undefined, client?: Readonly<{
        baseUrl: string;
    } & Readonly<{
        baseUrl: string;
    } & openapi_fetch.Client<_rss3_api_core_schema.paths, `${string}/${string}`>>> | undefined])[];
    data: undefined;
    error: Error;
    isError: true;
    isPending: false;
    isLoading: false;
    isLoadingError: true;
    isRefetchError: false;
    isSuccess: false;
    status: "error";
    dataUpdatedAt: number;
    errorUpdatedAt: number;
    failureCount: number;
    failureReason: Error | null;
    errorUpdateCount: number;
    isFetched: boolean;
    isFetchedAfterMount: boolean;
    isFetching: boolean;
    isInitialLoading: boolean;
    isPaused: boolean;
    isPlaceholderData: boolean;
    isRefetching: boolean;
    isStale: boolean;
    refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>, Error>>;
    fetchStatus: _tanstack_react_query.FetchStatus;
    promise: Promise<Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>>;
} | {
    queryKey: (string | {
        address: string;
        cursor?: string | undefined;
        limit?: number | undefined;
    } | [params: {
        address: string;
        cursor?: string | undefined;
        limit?: number | undefined;
    }, init?: Omit<openapi_fetch.FetchOptions<{
        parameters: {
            query?: {
                cursor?: _rss3_api_core_schema.components["parameters"]["cursor_query"];
                limit?: _rss3_api_core_schema.components["parameters"]["limit_1_20"];
            };
            header?: never;
            path: {
                address: _rss3_api_core_schema.components["parameters"]["node_address_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            200: _rss3_api_core_schema.components["responses"]["NodeRewardsByEpochResponse"];
            400: _rss3_api_core_schema.components["responses"]["400"];
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            500: _rss3_api_core_schema.components["responses"]["500"];
        };
    }>, "params"> | null | undefined, client?: Readonly<{
        baseUrl: string;
    } & Readonly<{
        baseUrl: string;
    } & openapi_fetch.Client<_rss3_api_core_schema.paths, `${string}/${string}`>>> | undefined])[];
    data: undefined;
    error: null;
    isError: false;
    isPending: true;
    isLoading: true;
    isLoadingError: false;
    isRefetchError: false;
    isSuccess: false;
    status: "pending";
    dataUpdatedAt: number;
    errorUpdatedAt: number;
    failureCount: number;
    failureReason: Error | null;
    errorUpdateCount: number;
    isFetched: boolean;
    isFetchedAfterMount: boolean;
    isFetching: boolean;
    isInitialLoading: boolean;
    isPaused: boolean;
    isPlaceholderData: boolean;
    isRefetching: boolean;
    isStale: boolean;
    refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>, Error>>;
    fetchStatus: _tanstack_react_query.FetchStatus;
    promise: Promise<Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>>;
} | {
    queryKey: (string | {
        address: string;
        cursor?: string | undefined;
        limit?: number | undefined;
    } | [params: {
        address: string;
        cursor?: string | undefined;
        limit?: number | undefined;
    }, init?: Omit<openapi_fetch.FetchOptions<{
        parameters: {
            query?: {
                cursor?: _rss3_api_core_schema.components["parameters"]["cursor_query"];
                limit?: _rss3_api_core_schema.components["parameters"]["limit_1_20"];
            };
            header?: never;
            path: {
                address: _rss3_api_core_schema.components["parameters"]["node_address_path"];
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            200: _rss3_api_core_schema.components["responses"]["NodeRewardsByEpochResponse"];
            400: _rss3_api_core_schema.components["responses"]["400"];
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            500: _rss3_api_core_schema.components["responses"]["500"];
        };
    }>, "params"> | null | undefined, client?: Readonly<{
        baseUrl: string;
    } & Readonly<{
        baseUrl: string;
    } & openapi_fetch.Client<_rss3_api_core_schema.paths, `${string}/${string}`>>> | undefined])[];
    data: undefined;
    error: null;
    isError: false;
    isPending: true;
    isLoadingError: false;
    isRefetchError: false;
    isSuccess: false;
    status: "pending";
    dataUpdatedAt: number;
    errorUpdatedAt: number;
    failureCount: number;
    failureReason: Error | null;
    errorUpdateCount: number;
    isFetched: boolean;
    isFetchedAfterMount: boolean;
    isFetching: boolean;
    isLoading: boolean;
    isInitialLoading: boolean;
    isPaused: boolean;
    isPlaceholderData: boolean;
    isRefetching: boolean;
    isStale: boolean;
    refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>, Error>>;
    fetchStatus: _tanstack_react_query.FetchStatus;
    promise: Promise<Promise<{
        cursor: string;
        data: {
            distributions: {
                block: {
                    hash: string;
                    number: number;
                    timestamp: number;
                };
                endTimestamp: number;
                id: number;
                rewardItems: {
                    epochId: number;
                    index: number;
                    nodeAddress: string;
                    operationRewards: string;
                    requestCounts?: string | undefined;
                    stakingRewards: string;
                    taxCollected: string;
                    transactionHash: string;
                }[];
                startTimestamp: number;
                totalOperationRewards: string;
                totalRequestCounts: string;
                totalRewardItems: number;
                totalStakingRewards: string;
                transaction: {
                    hash: string;
                    index: number;
                };
            }[];
            endTimestamp: number;
            id: number;
            startTimestamp: number;
            totalOperationRewards: string;
            totalRequestCounts: string;
            totalRewardItems: number;
            totalStakingRewards: string;
        }[];
    }>>;
};

export { useGetNodeRewards };
