/// import { EntitySerializationFormat, IEntitySerializer } from "../abstractions"; import { EntityExportFile, EntitySerializerColumnDefinition, EntitySerializerSheetDefinition, ImportEntry } from "../abstractions/serializer"; import { EntityServiceLocator } from "../providers/services"; import { EntityReference } from "../models"; export type EntitySerializerOptions = { delimiter?: string; }; export type ParseColumnValueInput = { row: any; columnName: string; parser: EntitySerializerColumnDefinition["parser"]; }; export declare abstract class EntitySerializer implements IEntitySerializer { protected readonly services: EntityServiceLocator; protected readonly options?: EntitySerializerOptions | undefined; private readonly logger; protected readonly entityName: string; constructor(services: EntityServiceLocator, options?: EntitySerializerOptions | undefined); export(filters?: TEntitySearchParameters, payload?: TPayload): Promise; import(items: TSheetItem[], payload?: TPayload): Promise; parse(data: Buffer, format: EntitySerializationFormat, payload?: TPayload): Promise[]>; protected importItems(items: TSheetItem[], context: TContext, payload?: TPayload): Promise; private parseCsv; private parseXlsx; private convertSheetRecord; private parseColumnValue; createSample(format: EntitySerializationFormat): Promise; private buildSampleFile; serialize(data: TSheetItem[], format: EntitySerializationFormat, payload?: TPayload): Promise; protected abstract getDefinition(context: TContext, payload?: TPayload): Promise>; protected abstract loadEntities(filters?: TEntitySearchParameters): Promise; protected abstract convertToSheetItems(entities: TEntity[], payload?: TPayload): Promise; protected validateSheetItem(item: TSheetItem, allItems: TSheetItem[], context: TContext): void; protected abstract importItem(item: TSheetItem, context: TContext, payload?: TPayload): Promise>; protected getContext(): Promise; private buildExportFile; private getColumnValue; private selectColumnValue; private buildExportFileName; }