import { TenantUserInfo } from '../utilities/authUtils'; import { FnDataServices } from '../types/innerServices'; import { CustomFetchInput, CustomFetchResult, CustomSaveInput, CustomSaveResult, CustomStaticFetchInput, CustomStaticFetchResult, CustomValidationInput, CustomValidationResult, CustomSearchInput, CustomSearchResult, CustomRawInput, CustomResourceFetchInput, CustomChangeSetInput, CustomChangeSetAfterInput, ChangeSetChange, ChangeSetChangeOutcome, ChangeSetOperation, CustomFunctionFeatures, MexDataV2Body, SharedResourceFetchRequest, SharedResourceInput, V2ResourceDescriptor, V2ResourceScope, Variables } from './customFunction'; import { RestMethod, Utilities } from './function'; import { CustomFunctionLogger } from '../services'; export type BasedInput = { /** @deprecated Construct services via `new MexClient(context)` instead of reading `services` off the input. */ services: FnDataServices; userInfo: TenantUserInfo; /** @deprecated Construct the logger via `new MexLogger(context)` instead of reading `logger` off the input. */ logger: CustomFunctionLogger; headers: { [key: string]: any; }; }; export type CustomInput = T & BasedInput; export declare const validateSaveBody: (validationObj: any) => import("./customFunction").CustomSaveInput0_0_26; export declare const validateValidationBody: (validationObj: any) => import("./customFunction").CustomSaveInput0_0_26; export declare const validateFetchBody: (validationObj: any) => CustomFetchInput; export declare const validateStaticFetchBody: (validationObj: any) => import("./customFunction").CustomStaticFetchInput_0_0_31; export declare const validateSearchBody: (validationObj: any) => CustomSearchInput; export declare const validateResourceFetchBody: (validationObj: any) => CustomResourceFetchInput; export declare const validateSharedResourceFetchBody: (validationObj: any) => SharedResourceFetchRequest; export declare const validateChangeSetBody: (validationObj: any) => CustomChangeSetInput; export declare const validateChangeSetAfterBody: (validationObj: any) => CustomChangeSetAfterInput; export type CustomFetchHandler = (input: CustomInput) => Promise; export type CustomSaveHandler = (input: CustomInput) => Promise; export type CustomValidationHandler = (input: CustomInput) => Promise; export type CustomStaticFetchHandler = (input: CustomInput) => Promise; export type CustomSearchHandler = (input: CustomInput) => Promise; export type CustomHandler = (input: CustomInput) => Promise; export type CustomResourceFetchHandlerInput = { name: string; scope: V2ResourceScope; contextObjectId?: string; variables?: Variables; }; export type CustomResourceFetchHandler = (input: CustomInput) => Promise; export type CustomChangeSetHandleInput = { name: string; op: ChangeSetOperation; type: string; uid: string; fields?: { [key: string]: unknown; }; keyField?: string; hasAttachments?: boolean; contextObjectId?: string; objectMapping?: { [key: string]: string; }; variables?: Variables; }; export type ChangeSetHandleResult = { handled: false; } | { handled: true; uid: string; linkedAttachment?: boolean; }; export type CustomChangeSetHandler = (input: CustomInput) => Promise; export type CustomChangeSetHandleBatchInput = { name: string; changes: ChangeSetChange[]; contextObjectId?: string; objectMapping?: { [key: string]: string; }; variables?: Variables; }; export type CustomChangeSetBatchHandler = (input: CustomInput) => Promise; export type CustomChangeSetAfterHandlerInput = CustomChangeSetHandleInput & { resolvedUid: string | null; }; export type CustomChangeSetAfterHandler = (input: CustomInput) => Promise; export interface CustomSaveParams { handler: CustomSaveHandler; } export interface CustomFetchParams { handler: CustomFetchHandler; } export interface CustomValidationParams { handler: CustomValidationHandler; } export interface CustomStaticFetchParams { handler: CustomStaticFetchHandler; } export interface CustomSearchParams { handler: CustomSearchHandler; } export interface CustomParams { handlers: { method: RestMethod; path: string; handler: CustomHandler; }[]; } export interface ResourceDefinition { name: string; scope?: V2ResourceScope; fetch: CustomResourceFetchHandler; } export interface ChangeSetHandlerDefinition { match: { name: string; }; handle?: CustomChangeSetHandler; handleChanges?: CustomChangeSetBatchHandler; handleAfter?: CustomChangeSetAfterHandler; } export type SharedResourceFetchInput = { contextObjectId?: string; variables?: Variables; }; export type SharedFunctionHandler = (name: string, scope: V2ResourceScope, input: CustomInput) => Promise; export type SharedResourcesThunk = (input: Utilities) => SharedResourceInput | Promise; export type SharedResourcesProvider = SharedResourceInput | SharedResourcesThunk; export interface SharedFunctionResult { handler?: SharedFunctionHandler; resources?: SharedResourcesProvider; changeSetHandlers?: ChangeSetHandlerDefinition[]; } export type SharedFunctionFactory = () => SharedFunctionResult | Promise; export interface SharedFunctionApp { attachHandler: (exportModule: any) => void; describeResources: () => V2ResourceDescriptor[]; describeFeatures: () => CustomFunctionFeatures; } export interface CustomFunctionParams { fetch?: CustomFetchParams; save?: CustomSaveParams; validate?: CustomValidationParams; static?: CustomStaticFetchParams; search?: CustomSearchParams; custom?: CustomParams; resources?: ResourceDefinition[]; changeSetHandlers?: ChangeSetHandlerDefinition[]; } //# sourceMappingURL=innerFunction.d.ts.map