import { BaseRecord, BaseKey, MetaDataQuery } from "../../interfaces"; export interface Pagination { current?: number; pageSize?: number; } export declare type CrudOperators = "eq" | "ne" | "lt" | "gt" | "lte" | "gte" | "in" | "nin" | "contains" | "ncontains" | "containss" | "ncontainss" | "between" | "nbetween" | "null" | "nnull" | "startswith" | "nstartswith" | "startswiths" | "nstartswiths" | "endswith" | "nendswith" | "endswiths" | "nendswiths" | "or" | "and"; export declare type SortOrder = "desc" | "asc" | null; export declare type LogicalFilter = { field: string; operator: Exclude; value: any; }; export declare type ConditionalFilter = { key?: string; operator: Extract; value: (LogicalFilter | ConditionalFilter)[]; }; export declare type CrudFilter = LogicalFilter | ConditionalFilter; export declare type CrudSort = { field: string; order: "asc" | "desc"; }; export declare type CrudFilters = CrudFilter[]; export declare type CrudSorting = CrudSort[]; export interface CustomResponse { data: TData; } export interface GetListResponse { data: TData[]; total: number; [key: string]: any; } export interface CreateResponse { data: TData; } export interface CreateManyResponse { data: TData[]; } export interface UpdateResponse { data: TData; } export interface UpdateManyResponse { data: TData[]; } export interface GetOneResponse { data: TData; } export interface GetManyResponse { data: TData[]; } export interface DeleteOneResponse { data: TData; } export interface DeleteManyResponse { data: TData[]; } export interface IDataContextProvider { getList: (params: { resource: string; pagination?: Pagination; hasPagination?: boolean; sort?: CrudSorting; filters?: CrudFilters; metaData?: MetaDataQuery; dataProviderName?: string; }) => Promise>; getMany?: (params: { resource: string; ids: BaseKey[]; metaData?: MetaDataQuery; dataProviderName?: string; }) => Promise>; getOne: (params: { resource: string; id: BaseKey; metaData?: MetaDataQuery; }) => Promise>; create: (params: { resource: string; variables: TVariables; metaData?: MetaDataQuery; }) => Promise>; createMany?: (params: { resource: string; variables: TVariables[]; metaData?: MetaDataQuery; }) => Promise>; update: (params: { resource: string; id: BaseKey; variables: TVariables; metaData?: MetaDataQuery; }) => Promise>; updateMany?: (params: { resource: string; ids: BaseKey[]; variables: TVariables; metaData?: MetaDataQuery; }) => Promise>; deleteOne: (params: { resource: string; id: BaseKey; variables?: TVariables; metaData?: MetaDataQuery; }) => Promise>; deleteMany?: (params: { resource: string; ids: BaseKey[]; variables?: TVariables; metaData?: MetaDataQuery; }) => Promise>; getApiUrl: () => string; custom?: (params: { url: string; method: "get" | "delete" | "head" | "options" | "post" | "put" | "patch"; sort?: CrudSorting; filters?: CrudFilter[]; payload?: TPayload; query?: TQuery; headers?: {}; metaData?: MetaDataQuery; }) => Promise>; } export declare type IDataContext = IDataContextProvider; export interface IDataMultipleContextProvider { default: IDataContextProvider; [key: string]: IDataContextProvider | any; } //# sourceMappingURL=IDataContext.d.ts.map