import { type Record, type Database } from '@servicenow/sdk-build-core'; import type { Element } from 'xml-js'; export declare const CHOICE_SET_VERSION = "4"; export declare const LEGACY_CHOICE_SET_VERSION = "3"; export declare const DEFAULT_INACTIVE = false; export declare const DEFAULT_INACTIVE_ON_UPDATE = false; export declare const CHOICE_PROPERTIES: readonly ["label", "value", "sequence", "dependent_value", "hint", "inactive", "inactive_on_update", "language", "synonyms"]; /** * Generates the update name for both sys_choice and sys_choice_set records. * Both tables share the same naming convention: sys_choice__ */ export declare function getChoiceUpdateName(record: Record): string; /** * Writes a sys_choice_set record element into the parent elements array. */ export declare function writeChoiceSetElement(parentElements: Element[], choiceSet: Record, tableName: string, elementName: string, config: { scope: string; scopeId: string; }): void; /** * Writes a sys_choice child element into the parent elements array. */ export declare function writeChoiceElement(parentElements: Element[], choice: Record, tableName: string, elementName: string): void; /** * Generates delete_multiple elements targeting all SDK-owned choices (both current * and removed), separated by ^NQ. Current choices use only identity fields (value, * language, dependent_value) since they will be re-created. Removed choices use all * record properties for precise targeting. Splits into multiple elements if the * query exceeds MAX_QUERY_LENGTH. */ export declare function writeDeleteMultipleElement(parentElements: Element[], currentChoices: Record[], database: Database, tableName: string, elementName: string): void; export declare const choiceAliases: { dependentValue: string[]; inactiveOnUpdate: string[]; }; export declare function generateChoices(choices: Record[], defaultLanguage: string): globalThis.Record;