import { ApplicaDataProviderConfig, AttachmentParserResult, CreateParamsExtended, DeleteManyParamsExtended, DeleteParamsExtended, GetListParamsExtended, GetManyParamsExtended, GetManyReferenceParamsExtended, GetOneParamsExtended, IApplicaDataProvider, UpdateManyParamsExtended, UpdateParamsExtended } from './types';
import { CreateParams, CreateResult, DeleteManyResult, DeleteResult, GetListResult, GetManyReferenceResult, GetManyResult, GetOneResult, UpdateManyResult, UpdateParams, UpdateResult } from 'ra-core';
declare class ApplicaDataProvider implements IApplicaDataProvider {
    config: ApplicaDataProviderConfig;
    prepareData: (data: any, resource?: string, params?: CreateParams | UpdateParams | any) => any;
    prepareAttachments: (data: any) => Promise<AttachmentParserResult>;
    private timeout;
    constructor(config: ApplicaDataProviderConfig);
    /**
     * @inheritdoc
     */
    getApiUrl(): string;
    /**
     * @inheritdoc
     */
    getFile(resource: string): Promise<string>;
    /**
     * @inheritdoc
     */
    getList(resource: string, params: GetListParamsExtended | any): Promise<GetListResult | any>;
    /**
     * @inheritdoc
     */
    getOne(resource: string, params: GetOneParamsExtended | any): Promise<GetOneResult | any>;
    /**
     * @inheritdoc
     */
    getMany(resource: string, params: GetManyParamsExtended | any): Promise<GetManyResult | any>;
    /**
     * @inheritdoc
     */
    getManyReference(resource: string, params: GetManyReferenceParamsExtended): Promise<GetManyReferenceResult>;
    /**
     * @inheritdoc
     */
    create(resource: string, params: CreateParamsExtended): Promise<CreateResult>;
    /**
     * @inheritdoc
     */
    update(resource: string, params: UpdateParamsExtended): Promise<UpdateResult>;
    /**
     * @inheritdoc
     */
    updateMany(resource: string, params: UpdateManyParamsExtended & {
        rows?: any[];
    }): Promise<UpdateManyResult>;
    /**
     * @inheritdoc
     */
    delete(resource: string, params: DeleteParamsExtended | any): Promise<DeleteResult | any>;
    /**
     * @inheritdoc
     */
    deleteMany(resource: string, params: DeleteManyParamsExtended | any): Promise<DeleteManyResult | any>;
    private _call;
    /**
     * @inheritdoc
     */
    post(resource: string, params: any & {
        timeout?: number;
    }): Promise<any>;
    /**
     * @inheritdoc
     */
    get(resource: string, params: any & {
        timeout?: number;
    }): Promise<any>;
    private createHeaders;
    private createOptions;
}
export { ApplicaDataProvider };
//# sourceMappingURL=provider.d.ts.map