import type { File, Record, Parser as IParser } from '@servicenow/sdk-build-core'; import type { Project } from '../project'; export declare class Parser implements IParser { private readonly project; private readonly ignoredElements; private readonly ignoredTables; constructor(project: Project, ignoredElements?: string[], ignoredTables?: string[]); parsePayload(file: File): Promise; /** * Recursively processes a parsed XML payload to extract ServiceNow records. * * This method iterates through each property in the payload and attempts to parse it as either: * - A record (or array of records) which gets processed via {@link processRecord} * - A nested payload which gets recursively processed * * Properties starting with `@_` are treated as XML attributes and ignored. * Tables in the ignored tables list and `delete_multiple` actions are skipped. * * @param file - The source file containing the XML payload * @param payload - The parsed and validated nested payload structure * @param isRecordUpdate - Whether the root of this xml is an update set and parser is parsing sys_update_xml * @param overrides - Optional overrides to propogate from parent to child records * @returns A promise resolving to an array of processed Record objects * @throws Error if a payload property has an invalid structure that cannot be parsed as a record or nested payload */ private processPayload; private processRecord; private processReference; }