import { AsyncPostResponse, D2ApiDefinitionBase, D2ApiResponse, ErrorReport, GetOptionValue, MetadataPayloadBase } from "./common"; import { D2ApiGeneric } from "./d2Api"; import { GetFields, SelectedPick } from "./inference"; export interface PostOptions { importMode: "COMMIT" | "VALIDATE"; identifier: "UID" | "CODE" | "AUTO"; importReportMode: "ERRORS" | "FULL" | "DEBUG"; preheatMode: "REFERENCE" | "ALL" | "NONE"; importStrategy: "CREATE_AND_UPDATE" | "CREATE" | "UPDATE" | "DELETE"; atomicMode: "ALL" | "NONE"; mergeMode: "MERGE" | "REPLACE"; flushMode: "AUTO" | "OBJECT"; skipSharing: boolean; skipValidation: boolean; async: boolean; inclusionStrategy: "NON_NULL" | "ALWAYS" | "NON_EMPTY"; userOverrideMode: "NONE" | "CURRENT" | "SELECTED"; overrideUser: string; } export interface Stats { created: number; updated: number; deleted: number; ignored: number; total: number; } export interface MetadataResponse { importParams: PostOptions; status: "OK" | "ERROR"; stats: Stats; typeReports: TypeReport[]; } export interface ObjectReport { klass: string; index: number; uid: string; errorReports: ErrorReport[]; } export interface TypeReport { klass: string; stats: Stats; objectReports: ObjectReport[]; } declare type RootSelector = { [ModelKey in keyof D2ApiDefinition["schemas"]]?: GetOptionValue; }; export declare type MetadataPickBase & any> = { [ModelKey in keyof RootSelectorE & keyof D2ApiDefinition["schemas"]]: Array>>; }; export declare class Metadata { d2Api: D2ApiGeneric; constructor(d2Api: D2ApiGeneric); get, Data = MetadataPickBase>(selector: RootSelectorE): D2ApiResponse; post(data: Partial>, options?: Partial): D2ApiResponse; postAsync(data: Partial>, options?: Partial): D2ApiResponse>; } export { MetadataPayloadBase };