import _ from "lodash"; import { Ref } from "./../schemas/base"; import { D2ModelSchemaBase, Selector } from "./inference"; import { TaskCategory } from "./system"; import { TrackedPager } from "./trackerTrackedEntities"; export interface GetOptionValue { fields: Selector; filter?: D2ApiDefinition["filter"]; } export declare type MetadataPayloadBase = { [K in keyof D2ModelSchemas]: Array>; }; declare type FieldsSelector = object; declare const arrayOperators: readonly ["in", "!in"]; declare const unaryOperators: readonly ["null", "!null", "empty"]; declare const valueOperators: readonly ["eq", "!eq", "ne", "like", "!like", "$like", "!$like", "like$", "!like$", "ilike", "ilike", "$ilike", "!$ilike", "ilike$", "!ilike$", "gt", "ge", "lt", "le", "token", "!token"]; export declare type FilterValueOperator = (typeof valueOperators)[number]; export declare type FilterArrayOperator = (typeof arrayOperators)[number]; export declare type FilterUnaryOperator = (typeof unaryOperators)[number]; export declare type FilterValue = Partial & Record & Record>; export interface FilterBase { [property: string]: FilterValue | FilterValue[] | undefined; } export declare function getFieldsAsString(modelFields: FieldsSelector): string; export interface GetOptionGeneric { fields: FieldsSelector; filter: FilterBase; } export declare function processFieldsFilterParams(modelOptions: GetOptionGeneric, modelName?: string): _.Dictionary; export declare type D2ApiRequestParamsValue = string | number | boolean | undefined; export interface Params { [key: string]: D2ApiRequestParamsValue | D2ApiRequestParamsValue[]; } export interface ErrorReport { message: string; mainKlass: string; errorKlass: string; errorProperty: string; errorCode: string; args?: (string | number)[]; errorProperties?: (string | number)[]; } export interface HttpResponse { httpStatus: "OK" | "Conflict" | "Bad Request" | "Internal Server Error"; httpStatusCode: number; status: "OK" | "ERROR"; message?: string; response: Response; } declare type IsAny = 0 extends (1 & T) ? true : false; declare type IsNever = [T] extends [never] ? true : false; declare type IsUnknown = IsNever extends false ? T extends unknown ? unknown extends T ? IsAny extends false ? true : false : false : false : false; export declare type PartialModel = IsUnknown extends true ? unknown : { [P in keyof T]?: T[P] extends (infer U)[] ? PartialModel[] : T[P] extends object ? PartialModel : T[P]; }; export declare type PartialPersistedModel = PartialModel & Ref; export declare type D2ModelSchemasBase = Record; export interface D2ApiDefinitionBase { schemas: D2ModelSchemasBase; filter: Record; } export { CancelableResponse as D2ApiResponse } from "../repositories/CancelableResponse"; export declare type AsyncPostResponse = HttpResponse<{ name: string; id: string; created: string; jobType: Type; relativeNotifierEndpoint: string; }>; export declare function validate2xx(status: number): boolean; export declare function validate404(status: number): boolean; export declare function parseTrackerPager(data: ParamTracker): TrackedPager; interface ParamTracker extends TrackedPager { pager?: TrackedPager; }