import { AxiosResponse } from 'axios'; import { ResourceConfig, ConcreteResourceInstance, ResourcePagination, AttributesPayload, RelationshipsPayload, RelatedResourceInstance } from './resource'; export declare type RequestMethod = 'get' | 'post' | 'patch' | 'delete'; export interface RequestParameters { include?: string[]; fields?: Record; } export interface RequestFiltering { sort?: string[]; page?: { size: number; number: number; }; filter?: Record; relatedTo?: RelatedResourceInstance; } export declare type RequestQuery = RequestParameters & RequestFiltering; export declare const createRequestParams: (query: RequestQuery) => Record; export declare const createRequest: (url: string, method: RequestMethod, query?: RequestQuery | undefined, data?: Record | undefined) => Promise; export declare const getRelatedPrefix: (resource?: import("./resource").CommonResourceAttributes | undefined) => string; export declare const find: (id: string, query: RequestQuery, config: ResourceConfig) => Promise>; export declare const findAll: (query: RequestQuery, config: ResourceConfig) => Promise>>; export declare const findBy: (query: RequestQuery, config: ResourceConfig) => Promise | null>; export declare const destroy: (id: string, config: ResourceConfig) => Promise; export declare const create: (attributes: AttributesPayload, query: RequestParameters, relationships: RelationshipsPayload, config: ResourceConfig) => Promise>; export declare const update: (id: string, attributes: AttributesPayload, query: RequestParameters, relationships: RelationshipsPayload, config: ResourceConfig) => Promise>; //# sourceMappingURL=api.d.ts.map