import type { Logger, Shape, ShapeTransform } from '@servicenow/sdk-build-core'; import type { ExtendedChoices, PricingDetail } from '@servicenow/sdk-core/service-catalog'; /** * All variable transformation functions that map database fields to TypeScript type definitions. * Each transform function respects the exact type definition from packages/core/src/service-catalog/types/Variables/ */ export declare const createBaseTransform: ($: ShapeTransform, dependentQuestionValue?: string | Shape, shouldClearDynamicDefault?: boolean) => { active: ShapeTransform; question: ShapeTransform; order: ShapeTransform; disableInitialSlotFill: ShapeTransform; conversationalLabel: ShapeTransform; tooltip: ShapeTransform; exampleText: ShapeTransform; showHelp: ShapeTransform; helpTag: ShapeTransform; helpText: ShapeTransform; instructions: ShapeTransform; width: ShapeTransform; attributes: ShapeTransform; defaultValue: ShapeTransform; readRoles: ShapeTransform; writeRoles: ShapeTransform; createRoles: ShapeTransform; visibleStandalone: ShapeTransform; visibleSummary: ShapeTransform; visibleGuide: ShapeTransform; visibleBundle: ShapeTransform; removeFromConversationalInterfaces: ShapeTransform; mapToField: ShapeTransform; field: ShapeTransform; alwaysExpand: ShapeTransform; description: ShapeTransform; global: ShapeTransform; deliveryPlan: ShapeTransform; visibility: ShapeTransform; category: ShapeTransform; pricingImplications: ShapeTransform; useDynamicDefault: ShapeTransform; unique: ShapeTransform; readScript: ShapeTransform; postInsertScript: ShapeTransform; } | { dotWalkPath: ShapeTransform; dependentQuestion: ShapeTransform; active: ShapeTransform; question: ShapeTransform; order: ShapeTransform; disableInitialSlotFill: ShapeTransform; conversationalLabel: ShapeTransform; tooltip: ShapeTransform; exampleText: ShapeTransform; showHelp: ShapeTransform; helpTag: ShapeTransform; helpText: ShapeTransform; instructions: ShapeTransform; width: ShapeTransform; attributes: ShapeTransform; defaultValue: ShapeTransform; readRoles: ShapeTransform; writeRoles: ShapeTransform; createRoles: ShapeTransform; visibleStandalone: ShapeTransform; visibleSummary: ShapeTransform; visibleGuide: ShapeTransform; visibleBundle: ShapeTransform; removeFromConversationalInterfaces: ShapeTransform; mapToField: ShapeTransform; field: ShapeTransform; alwaysExpand: ShapeTransform; description: ShapeTransform; global: ShapeTransform; deliveryPlan: ShapeTransform; visibility: ShapeTransform; category: ShapeTransform; pricingImplications: ShapeTransform; useDynamicDefault: ShapeTransform; unique: ShapeTransform; readScript: ShapeTransform; postInsertScript: ShapeTransform; }; export declare const createInteractiveTransform: ($: ShapeTransform) => { mandatory: ShapeTransform; readOnly: ShapeTransform; hidden: ShapeTransform; }; export declare const createLayoutTransform: ($: ShapeTransform) => { layout: ShapeTransform; displayTitle: ShapeTransform; }; export declare const createSelectBoxTransform: ($: ShapeTransform, choicesData: ExtendedChoices) => { choices: ShapeTransform; choiceTable: ShapeTransform; choiceField: ShapeTransform; includeNone: ShapeTransform; uniqueValuesOnly: ShapeTransform; }; export declare const createMultipleChoiceTransform: ($: ShapeTransform, choicesData: ExtendedChoices) => { choices: ShapeTransform; choiceDirection: ShapeTransform; includeNone: ShapeTransform; doNotSelectFirstChoice: ShapeTransform; }; export declare const createNumericScaleTransform: ($: ShapeTransform) => { scaleMin: ShapeTransform; scaleMax: ShapeTransform; doNotSelectFirstChoice: ShapeTransform; }; export declare const createReferenceTransform: ($: ShapeTransform, qualifierType: "simple" | "advanced" | "dynamic") => { useReferenceQualifier: ShapeTransform; dynamicRefQual: ShapeTransform; referenceTable: ShapeTransform; deleteRoles: ShapeTransform; } | { useReferenceQualifier: ShapeTransform; referenceQual: ShapeTransform; referenceTable: ShapeTransform; deleteRoles: ShapeTransform; } | { referenceQualCondition: ShapeTransform; referenceTable: ShapeTransform; deleteRoles: ShapeTransform; }; export declare const createRequestedForTransform: ($: ShapeTransform, qualifierType: "simple" | "advanced" | "dynamic") => { useReferenceQualifier: ShapeTransform; dynamicRefQual: ShapeTransform; enableAlsoRequestFor: ShapeTransform; rolesToUseAlsoRequestFor: ShapeTransform; } | { useReferenceQualifier: ShapeTransform; referenceQual: ShapeTransform; enableAlsoRequestFor: ShapeTransform; rolesToUseAlsoRequestFor: ShapeTransform; } | { referenceQualCondition: ShapeTransform; enableAlsoRequestFor: ShapeTransform; rolesToUseAlsoRequestFor: ShapeTransform; }; export declare const createLookupTransform: ($: ShapeTransform, lookupSource: "choices" | "table") => { lookupSource: ShapeTransform; choiceTable: ShapeTransform; choiceField: ShapeTransform; choicesDependOn: ShapeTransform; choiceDirection: ShapeTransform; includeNone: ShapeTransform; uniqueValuesOnly: ShapeTransform; referenceQual: ShapeTransform; } | { lookupFromTable: ShapeTransform; lookupValueField: ShapeTransform; lookupLabelFields: ShapeTransform; lookupPriceField: ShapeTransform; lookupRecurringPriceField: ShapeTransform; choiceDirection: ShapeTransform; includeNone: ShapeTransform; uniqueValuesOnly: ShapeTransform; referenceQual: ShapeTransform; }; export declare const createCustomTransform: ($: ShapeTransform) => { macro: ShapeTransform; summaryMacro: ShapeTransform; widget: ShapeTransform; macroponent: ShapeTransform; topicBlock: ShapeTransform; }; /** * Build transformation based on variable type. * Each case maps only the fields defined in that variable's TypeScript type definition. */ export declare function buildVariableTransform(variableType: string, $: ShapeTransform, params: { choicesData: ExtendedChoices; varPricingDetails: PricingDetail[]; qualifierType?: 'simple' | 'advanced' | 'dynamic'; lookupSource?: 'choices' | 'table'; dependentQuestionValue?: string | Shape; shouldClearDynamicDefault?: boolean; }, logger: Logger): Record;