import type { C11nEnv } from './interpreter/c11n-env'; import type { ShowHistoryActionOptions } from './router/types'; export interface ActionObject { actionMgrID?: string; context?: string | null; pageReference?: string; headers?: { RemoteSystemID?: string; RemoteClassGroup?: any; etag?: any; [key: string]: any; }; className?: string; isRemoteCase?: boolean; debugInfo?: { debugId: string; }; remoteCaseClass?: string; activeItemCaseViewMode?: string; isModalAction?: boolean; isProcessAction?: boolean; containerName?: string; parentCaseInfo?: object; parentContext?: string | null; targetName?: string; isInCreateStage?: boolean; isCaseWideAction?: boolean; acTargetName?: string; viewType?: string; class?: string; } export interface ExtendedActionObject extends ActionObject { viewName?: string; pageClass?: string; isTraditionalRemoteCase?: boolean; remoteSystemURL?: string; action?: string; gadgetId?: string; insKey?: string; assignmentID?: string; remoteClassName?: string; name?: string; classID?: string; remoteCaseMeta?: RemoteCaseMeta; skipSemanticUrl?: boolean; assignments?: RefreshPayload[]; } export interface RemoteCaseMeta { [key: string]: string | boolean; } export interface RemoteCaseHistoryActionObject extends ShowHistoryActionOptions, ExtendedActionObject { skipSemanticUrl?: boolean; } export interface RemoteCaseActionObject { key: string; actionName: string; caseClassName: string; isRemoteCase?: string; } export interface ActionInfo { class?: string; actionID?: string; assignmentID?: string; caseID?: string; workID?: string; containerName?: string; containerItemID?: string; isCaseWideAction?: boolean; doDeleteCaseSummary?: boolean; isInCreateStage?: boolean; isModalAction?: boolean; outcome?: string; viewType?: string; dataPageID?: string; context?: string | null; headers?: any; businessID?: string; isFormValid?: boolean; caseTypeID?: string; caseTypeName?: string; jsActionQueryParams?: { skipRoboticAutomation?: boolean; }; } export interface Component { getPageReference: Function; getCaseInfo: Function; getComponentConfig: Function; getStateProps: Function; getContextName: Function; getValue: Function; getMetadata: Function; viewName: string; } export interface BrowserEvent { nativeEvent: object; value: any; target: any; prop: any; auxiliaryTarget?: any; } export interface ActionItem { actionHandler: Function; component: C11nEnv; eventType: string; config: { parallel: string; }; } export interface ActionAPIOptions { autoDetectRefresh?: boolean; propertyName?: string; preserveClientChanges?: boolean; classID?: string; refreshFor?: string; context?: string; optionalPayload?: object; resetForm?: boolean; isArrayDeepMerge?: boolean; } export type RefreshPayload = { ID: string; viewID: string; context: string; options: RefreshAPIOptions; caseViewAction: boolean; interestPage: string; serverPrecedenceFields?: string[]; requestType: string; }; export type RefreshAPIOptions = { actionMgrID?: string; caseViewAction?: boolean; autoDetectRefresh?: boolean; propertyName?: string; preserveClientChanges?: boolean; classID?: string; refreshFor?: string; context?: string; optionalPayload?: object; isFillFormWithAI?: boolean; isObjectWideAction?: boolean; interestPage?: string; resetForm?: boolean; isArrayDeepMerge?: boolean; }; export type DataPageObj = { keyName: string; isAlternateKeyStorage: true; linkedField: string; } | { keyName: string; isAlternateKeyStorage: false; }; export type CaseActionOptions = { target?: string; caseID?: string; assignKey?: string; actionTitle?: string; containerName?: string; name?: string; type?: string; refreshConditions?: any[]; caseClassName?: string; links?: Links; callbacks?: { submit?: () => void; cancel?: () => void; } | null; }; export type Links = { name: string; type: string; open?: { href?: string; rel?: string; title?: string; type?: string; }; }; export type configObj = { url?: string; data?: { key?: string; }; }; export type Interceptor = { request: (config: configObj) => configObj; response: (responeText: string) => string; }; export type FetchOptions = { /** contains error status code - used to stop merging the error messages */ doNotMergeHttpMessagesForStatusCode?: string | null; /** contains unique context string used for maintaining respective active request count */ cancelContext?: string; /** flag to include remote system headers in request * * - `true`: remote system deatails are included * - `false`: default value, remote system deatails are not included */ includeRemoteSystemIdIfPresent?: boolean; }; export type PropertyInfo = { propertyName: string; mode: string; };