import type { BCMSProp, BCMSPropValue, BCMSSocketSyncChangeStringDelta, } from '@becomes/cms-sdk/types'; import type { BCMSArrayPropMoveEventData } from '../components'; import type { BCMSPropValueExtended } from '../models'; export interface BCMSPropService { toPropValueExtended(data: { prop: BCMSProp; value?: BCMSPropValue | BCMSPropValueExtended; lang: string; groupRequired?: boolean; }): Promise; fromPropValueExtended(data: { extended: BCMSPropValueExtended; }): BCMSPropValue; checker: { register(validate: () => boolean): () => void; validate(): boolean; }; pathStrToArr(path: string): Array; getValueFromPath( // eslint-disable-next-line @typescript-eslint/no-explicit-any obj: any, path: Array ): Value; findLastDataPropFromPath( // eslint-disable-next-line @typescript-eslint/no-explicit-any obj: any, path: Array, // eslint-disable-next-line @typescript-eslint/no-explicit-any data?: any ): unknown; findSchemaFromPath( obj: any, schemaHolder: BCMSProp[], path: Array, schema?: BCMSProp ): Promise; mutateValue: { // eslint-disable-next-line @typescript-eslint/no-explicit-any any(obj: any, path: Array, value: any): void; string( // eslint-disable-next-line @typescript-eslint/no-explicit-any obj: any, path: Array, diff: BCMSSocketSyncChangeStringDelta[] ): void; // eslint-disable-next-line @typescript-eslint/no-explicit-any removeArrayItem(obj: any, path: Array): void; reorderArrayItems( // eslint-disable-next-line @typescript-eslint/no-explicit-any obj: any, path: Array, info: BCMSArrayPropMoveEventData ): void; addArrayItem( obj: any, baseSchema: BCMSProp[], path: Array, lang: string ): Promise; }; }