import { ArchbaseRemoteDataSource } from '../datasource/ArchbaseRemoteDataSource'; import { ArchbaseRemoteApiService, Page } from '../service/ArchbaseRemoteApiService'; import { IDataSourceValidator } from '../datasource/ArchbaseDataSource'; import { ArchbaseStore } from './useArchbaseStore'; export type UseArchbaseRemoteDataSourceProps = { name: string; label?: string; service: ArchbaseRemoteApiService; store?: ArchbaseStore; filter?: string; sort?: string[]; id?: ID; loadOnStart?: boolean; initialDataSource?: ArchbaseRemoteDataSource | undefined; pageSize?: number; currentPage?: number; transformData?: (data: any) => Page; onLoadComplete?: (dataSource: ArchbaseRemoteDataSource) => void; onError?: (error: any, originError: any) => void; onDestroy?: (dataSource: ArchbaseRemoteDataSource) => void; filterData?: (data: any) => Page; findAll?(page: number, size: number): Promise>; findAllWithSort?(page: number, size: number, sort: string[]): Promise>; findAllWithFilter?(filter: string, page: number, size: number): Promise>; findAllWithFilterAndSort?(filter: string, page: number, size: number, sort: string[]): Promise>; findOne?(id: ID): Promise>; validator?: IDataSourceValidator; }; export type UseArchbaseRemoteDataSourceReturnType = { dataSource: ArchbaseRemoteDataSource; isLoading: boolean; isError: boolean; error: any; clearError: () => void; }; export declare function useArchbaseRemoteDataSource(props: UseArchbaseRemoteDataSourceProps): UseArchbaseRemoteDataSourceReturnType;