/** * Options for the usePatternUsages hook */ export interface UsePatternUsagesOptions { /** Filter by entity type (e.g., 'pages', 'posts') */ entityType?: string; /** Number of results per page (default: 50) */ limit?: number; /** Current page number (default: 1) */ page?: number; /** Whether the query is enabled (default: true) */ enabled?: boolean; /** Stale time in ms (default: 5 minutes) */ staleTime?: number; } /** * Single usage record with entity info */ export interface PatternUsage { id: string; patternId: string; entityType: string; entityId: string; teamId: string; createdAt: string; entityTitle?: string; entityName?: string; entityFirstName?: string; entityLastName?: string; entityEmail?: string; entitySlug?: string; entityStatus?: string; entityUpdatedAt?: string; } /** * Usage count by entity type */ export interface PatternUsageCount { entityType: string; count: number; } /** * Result of the usePatternUsages query */ export interface PatternUsagesResult { usages: PatternUsage[]; counts: PatternUsageCount[]; total: number; page: number; totalPages: number; } /** * React Query hook to fetch pattern usages * * @param patternId - The ID of the pattern to get usages for * @param options - Query options (entityType filter, pagination, etc.) * @returns Query result with usages, counts, and pagination info * * @example * ```tsx * const { usages, counts, total, isLoading, error } = usePatternUsages(patternId, { * entityType: 'pages', * limit: 20, * page: 1, * }) * ``` */ export declare function usePatternUsages(patternId: string, options?: UsePatternUsagesOptions): { usages: PatternUsage[]; counts: PatternUsageCount[]; total: number; page: number; totalPages: number; data: PatternUsagesResult; error: Error; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; isPlaceholderData: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise; } | { usages: PatternUsage[]; counts: PatternUsageCount[]; total: number; page: number; totalPages: number; data: PatternUsagesResult; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: false; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise; } | { usages: PatternUsage[]; counts: PatternUsageCount[]; total: number; page: number; totalPages: number; data: undefined; error: Error; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise; } | { usages: PatternUsage[]; counts: PatternUsageCount[]; total: number; page: number; totalPages: number; data: undefined; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise; } | { usages: PatternUsage[]; counts: PatternUsageCount[]; total: number; page: number; totalPages: number; data: undefined; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; isPlaceholderData: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise; } | { usages: PatternUsage[]; counts: PatternUsageCount[]; total: number; page: number; totalPages: number; data: PatternUsagesResult; isError: false; error: null; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; isPlaceholderData: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: Error; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isRefetching: boolean; isStale: boolean; isEnabled: boolean; refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise>; fetchStatus: import("@tanstack/react-query").FetchStatus; promise: Promise; }; /** * Hook to get just the usage count for a pattern * Useful for displaying usage count in lists without full usage details * * @param patternId - The ID of the pattern * @param options - Query options * @returns Query result with total usage count */ export declare function usePatternUsageCount(patternId: string, options?: { enabled?: boolean; staleTime?: number; }): import("@tanstack/react-query").UseQueryResult; //# sourceMappingURL=usePatternUsages.d.ts.map