amplifyquery
Version:
58 lines (57 loc) • 1.69 kB
TypeScript
import { QueryClient, QueryClientConfig } from "@tanstack/react-query";
type ConfigOptions = {
isCachingEnabled?: boolean;
queryClientConfig?: QueryClientConfig;
storage?: {
mmkvId?: string;
cacheKey?: string;
maxAge?: number;
};
};
/**
* TanStack Query client
*/
export declare let queryClient: QueryClient;
/**
* Get the current query client instance
* @returns The QueryClient instance
*/
export declare function getQueryClient(): QueryClient;
/**
* AmplifyQuery configuration
* @param options Configuration options
*/
export declare function configure(options?: ConfigOptions): void;
/**
* Create query keys from model names
* @param modelNames Array of model names
* @returns Object of query keys per model
*/
export declare function createQueryKeys(modelNames: string[]): Record<string, string[]>;
/**
* Invalidate all queries for a model
* @param modelName Model name
*/
export declare function invalidateModel(modelName: string): void;
/**
* Invalidate a model item with a specific ID
* @param modelName Model name
* @param id Item ID
*/
export declare function invalidateModelItem(modelName: string, id: string): void;
/**
* Invalidate model items with a specific field value
* @param modelName Model name
* @param field Field name
* @param value Field value
*/
export declare function invalidateModelByField(modelName: string, field: string, value: any): void;
/**
* Invalidate all query caches (full app reset)
*/
export declare function invalidateAll(): void;
/**
* Ensure important changes are synced to server before app closes
*/
export declare function ensureMutationsFlushed(): Promise<unknown>;
export {};