import { Change, DataUnit, DataUnitAction, Filter, LoadDataRequest, LoadDataResponse, SavedRecord, UnitMetadata } from '@sankhyalabs/core';
import { AttachFetcherFacadeInterface } from '../../../../../lib';
import { FetcherFacade } from '../facade/fetcher.facade';
export declare class AttachFetcherDataUnitFactory implements FetcherFacade {
  private getMessage?;
  private _application;
  private _records;
  constructor(getMessage?: Function);
  initLoaders(dataUnit: DataUnit, fetcher: AttachFetcherFacadeInterface, onSuccess: (data?: any) => void): void;
  metadataLoader(_: DataUnit): Promise<UnitMetadata>;
  dataLoader(dataUnit: DataUnit, request: LoadDataRequest): Promise<LoadDataResponse>;
  saveLoader(changes: Array<Change>, fetcher: AttachFetcherFacadeInterface): Promise<Array<SavedRecord>>;
  removeLoader(dataUnit: DataUnit, ids: string[], fetcher: AttachFetcherFacadeInterface): Promise<string[]>;
  getFilters(): Array<Filter>;
  getInterceptions(dataUnit: DataUnit, action: DataUnitAction, crudRef: HTMLSnkSimpleCrudElement): Promise<DataUnitAction>;
}
