import { AxiosInstance } from 'axios'; import { FilterOptions } from '../types'; export interface ApiServiceConfig { baseURL: string; defaultHeaders?: Record; timeout?: number; } export interface UseApiServiceReturn { data: T[]; loading: boolean; error: string | null; total: number; hasMore: boolean; client: AxiosInstance; getAll: (filters?: FilterOptions) => Promise; getById: (id: string) => Promise; create: (data: Partial) => Promise; update: (id: string, data: Partial) => Promise; delete: (id: string) => Promise; clearError: () => void; refresh: () => Promise; } export declare const useApiService: (config: ApiServiceConfig, endpoint: string) => UseApiServiceReturn;