import type { EntityConfig } from '../lib/entities/types';
export interface UseEntityQueryOptions {
    entityConfig: EntityConfig;
    pageSize?: number;
    includeChildren?: boolean;
    search?: string;
    filters?: Record<string, unknown>;
    sort?: {
        field: string;
        direction: 'asc' | 'desc';
    };
    enabled?: boolean;
    staleTime?: number;
    gcTime?: number;
}
export interface EntityQueryResult {
    items: Record<string, unknown>[];
    total: number;
    page: number;
    totalPages: number;
}
export declare function useEntityQuery(options: UseEntityQueryOptions): {
    items: Record<string, unknown>[];
    total: number;
    totalPages: number;
    data: EntityQueryResult;
    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<import("@tanstack/react-query").QueryObserverResult<EntityQueryResult, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<EntityQueryResult>;
} | {
    items: Record<string, unknown>[];
    total: number;
    totalPages: number;
    data: EntityQueryResult;
    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<import("@tanstack/react-query").QueryObserverResult<EntityQueryResult, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<EntityQueryResult>;
} | {
    items: Record<string, unknown>[];
    total: 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<import("@tanstack/react-query").QueryObserverResult<EntityQueryResult, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<EntityQueryResult>;
} | {
    items: Record<string, unknown>[];
    total: 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<import("@tanstack/react-query").QueryObserverResult<EntityQueryResult, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<EntityQueryResult>;
} | {
    items: Record<string, unknown>[];
    total: 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<import("@tanstack/react-query").QueryObserverResult<EntityQueryResult, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<EntityQueryResult>;
} | {
    items: Record<string, unknown>[];
    total: number;
    totalPages: number;
    data: EntityQueryResult;
    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<import("@tanstack/react-query").QueryObserverResult<EntityQueryResult, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<EntityQueryResult>;
};
export declare function useEntityOne(entityConfig: EntityConfig, id: string, options?: {
    includeChildren?: boolean;
    enabled?: boolean;
}): import("@tanstack/react-query").UseQueryResult<any, Error>;
//# sourceMappingURL=useEntityQuery.d.ts.map