import { DataSource } from "./DataSource"; export interface ResourceBaseOptions { dataTransform?: (items: T, resource: R) => T; onDidChange?: () => void; pollInterval?: number; } export interface ResourceBaseConfig { dataSource: DataSource; name: string; fields?: string[]; initialArgs?: { [key: string]: any; }; } export declare class ResourceBase { private config; name: string; dataSource: DataSource; fields?: string[]; arguments?: { [key: string]: any; }; pollInterval?: number; onPollHandler?: () => void; initialized: boolean; loading: boolean; polling: boolean; data: T | undefined; error: Error | undefined; private pollRefreshInterval?; constructor(config: ResourceBaseConfig & ResourceBaseOptions>); resetPolling: () => void; private runPoll; protected tryWithLoading(p: Promise, saveError?: boolean): Promise; startPolling: () => void; stopPolling: () => void; get: () => Promise; setData: (data: T | undefined) => void; protected triggerOnChangeIfNeeded(): void; getData: () => T | undefined; }