export interface ApiQueryBase { params: TApiQueryParams; refetch: () => Promise; } export interface ApiQuery extends ApiQueryBase { data?: TApiInvalidQueryData | TApiValidQueryData; } export interface ApiSuspenseQuery extends ApiQueryBase { data: TApiInvalidQueryData | TApiValidQueryData; } export interface ApiSuspenseValidQuery extends ApiQueryBase { data: TApiValidQueryData; } export interface ApiQueryType { name: TApiQueryName; fetchData: (params: TApiQueryParams) => Promise; getIsValid: (data: TApiInvalidQueryData | TApiValidQueryData) => data is TApiValidQueryData; isRemote: boolean; refetchInterval: number; } export type GetApiQueryKey = (((params: TApiQueryParams) => Array)); export type UseApiQuery = (((params: TApiQueryParams) => ApiQuery) & ((params: TApiQueryParams | undefined) => ApiQuery | undefined)); export type UseApiQueries = (((queriesParams: Array) => Array | undefined>)); export type UseApiSuspenseQuery = (((params: TApiQueryParams) => ApiSuspenseQuery)); export type UseApiSuspenseValidQuery = (((params: TApiQueryParams) => ApiSuspenseValidQuery)); export type ApiQueryTypeHooks = ({ [ApiQueryName in TApiQueryName as `get${ApiQueryName}QueryKey`]: GetApiQueryKey; } & { [ApiQueryName in TApiQueryName as `use${ApiQueryName}Query`]: UseApiQuery; } & { [ApiQueryName in TApiQueryName as `use${ApiQueryName}Queries`]: UseApiQueries; } & { [ApiQueryName in TApiQueryName as `use${ApiQueryName}SuspenseQuery`]: UseApiSuspenseQuery; } & { [ApiQueryName in TApiQueryName as `use${ApiQueryName}SuspenseValidQuery`]: UseApiSuspenseValidQuery; }); export declare function getApiQueryTypeHooks(apiQueryType: ApiQueryType): ApiQueryTypeHooks; //# sourceMappingURL=api-query.d.ts.map