import { DataProvider } from 'ra-core';
import { PrimaryKey, PostgRestOperator, PostgRestSortOrder } from './urlBuilder';
/**
* Maps react-admin queries to a postgrest REST API
*
* This REST dialect uses postgrest syntax
*
* @see https://postgrest.org/en/stable/api.html#embedded-filters
*
* @example
*
* getList => GET http://my.api.url/posts?order=title.asc&offset=0&limit=24&filterField=eq.value
* getOne => GET http://my.api.url/posts?id=eq.123
* getMany => GET http://my.api.url/posts?id=in.(123,456,789)
* getManyReference => GET http://my.api.url/posts?author_id=eq.345
* create => POST http://my.api.url/posts
* update => PATCH http://my.api.url/posts?id=eq.123
* updateMany => PATCH http://my.api.url/posts?id=in.(123,456,789)
* delete => DELETE http://my.api.url/posts?id=eq.123
* deleteMany => DELETE http://my.api.url/posts?id=in.(123,456,789)
*
* @example
*
* import * as React from 'react';
* import { Admin, Resource, fetchUtils } from 'react-admin';
* import postgrestRestProvider,
* { IDataProviderConfig,
* defaultPrimaryKeys,
* defaultSchema } from '@raphiniert/ra-data-postgrest';
*
* import { PostList } from './posts';
*
* const config: IDataProviderConfig = {
* apiUrl: 'http://path.to.my.api/',
* httpClient: fetchUtils.fetchJson,
* defaultListOp: 'eq',
* primaryKeys: defaultPrimaryKeys,
* schema: defaultSchema
* }
*
* const App = () => (
*
*
*
* );
*
* export default App;
*/
export type MetaOption = string | undefined;
export declare const defaultPrimaryKeys: Map;
export declare const defaultSchema: () => string;
export { PostgRestSortOrder };
export interface IDataProviderConfig {
apiUrl: string;
httpClient: (string: any, Options: any) => Promise;
defaultListOp: PostgRestOperator;
sortOrder?: PostgRestSortOrder;
primaryKeys: Map;
schema: () => string;
}
declare const _default: (config: IDataProviderConfig) => DataProvider;
export default _default;