import React from "react"; import { QueryOptions, UseQueryOptions, UseQueryResult } from "react-query"; import { OrderBy, Query, QueryResult, Where } from "../ts-models"; declare type GlowOptions = GlowGetOptions | GlowPostOptions; interface GlowGetOptions { type: "GET"; } interface GlowPostOptions { type: "POST"; payload: T; } export declare function useData(url: string, placeholder: T, config?: UseQueryOptions, glowOptions?: GlowOptions): { error: null; isError: false; isIdle: true; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "idle"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isPlaceholderData: boolean; isPreviousData: boolean; isStale: boolean; refetch: (options?: import("react-query").RefetchOptions | undefined) => Promise>; remove: () => void; data: T; loading: boolean; reload: (options?: import("react-query").RefetchOptions | undefined) => Promise>; } | { error: any; isError: true; isIdle: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isPlaceholderData: boolean; isPreviousData: boolean; isStale: boolean; refetch: (options?: import("react-query").RefetchOptions | undefined) => Promise>; remove: () => void; data: T; loading: boolean; reload: (options?: import("react-query").RefetchOptions | undefined) => Promise>; } | { error: null; isError: false; isIdle: false; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "loading"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isPlaceholderData: boolean; isPreviousData: boolean; isStale: boolean; refetch: (options?: import("react-query").RefetchOptions | undefined) => Promise>; remove: () => void; data: T; loading: boolean; reload: (options?: import("react-query").RefetchOptions | undefined) => Promise>; } | { error: any; isError: true; isIdle: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isPlaceholderData: boolean; isPreviousData: boolean; isStale: boolean; refetch: (options?: import("react-query").RefetchOptions | undefined) => Promise>; remove: () => void; data: T; loading: boolean; reload: (options?: import("react-query").RefetchOptions | undefined) => Promise>; } | { error: null; isError: false; isIdle: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isPlaceholderData: boolean; isPreviousData: boolean; isStale: boolean; refetch: (options?: import("react-query").RefetchOptions | undefined) => Promise>; remove: () => void; data: T; loading: boolean; reload: (options?: import("react-query").RefetchOptions | undefined) => Promise>; }; interface UseApiGetProps { url: string; placeholder: Result; queryOptions?: QueryOptions; method: "GET"; } interface UseApiPostProps { url: string; placeholder: Result; queryOptions?: QueryOptions; method: "POST" | undefined; payload: Request; } export declare type ApiResult = UseQueryResult & { data: Result; loading: boolean; reload: () => void; }; export declare function useApi({ url, placeholder, queryOptions, ...rest }: UseApiGetProps | UseApiPostProps): ApiResult; export declare type UseGlowQueryResult = [ UseGlowQuery, UseQueryResult, any> ]; export interface UseGlowQuery { result: QueryResult; skip: number; take: number | null; search: string | null; setSearch: React.Dispatch>; setSkip: React.Dispatch>; setTake: React.Dispatch>; setOrderBy: React.Dispatch>; setWhere: React.Dispatch>; sendQuery: (query: Query, url: string) => Promise>; } export declare type QueryParameter = { take: number | null; skip: number; orderBy: OrderBy; where: Where; search: string | null; }; export declare function useGlowQuery(url: string, placeholder: QueryResult, config?: QueryOptions>, initialQuery?: Partial): UseGlowQueryResult; export {}; //# sourceMappingURL=use-data.d.ts.map