export type RequestData = { data?: T; success?: boolean; [key: string]: any; } & Record; export type UseFetchDataAction = { dataSource: T['data'] | T; setDataSource: (value: T['data'] | T) => void; loading?: boolean; reload: () => Promise; }; declare const useFetchData: >(getData: () => Promise, options?: { effects?: any[] | undefined; manual: boolean; loading?: boolean | undefined; onLoadingChange?: ((loading?: boolean) => void) | undefined; onRequestError?: ((e: Error) => void) | undefined; dataSource?: T["data"] | undefined; defaultDataSource?: T["data"] | undefined; onDataSourceChange?: ((value: T['data']) => void) | undefined; } | undefined) => UseFetchDataAction; export default useFetchData;