import type { Diagnostics, ObjectShape } from '@servicenow/sdk-build-core'; /** Centralized so every dependentQuestion parent-type rejection site shares one message. */ export declare function invalidDependentQuestionParentTypeMessage(variableName: string): string; /** * Validates that at most one of executionPlan, flow, or workflow is defined. * These fields are mutually exclusive in the FulfillmentProcess type. * Returns true if valid, false if a diagnostic was emitted. */ export declare function validateFulfillmentProcessExclusivity(arg: ObjectShape, diagnostics: Diagnostics): boolean; /** * Validates that categories are only provided when catalogs are also provided. * Returns true if valid, false if a diagnostic was emitted. */ export declare function validateCategoriesRequireCatalogs(arg: ObjectShape, diagnostics: Diagnostics): boolean; /** * Validates that catalogItem and variableSet are not both provided. * When appliesTo is 'set', variableSet should be provided; when 'item', catalogItem should be provided. * Returns true if valid, false if a diagnostic was emitted. */ export declare function validateCatalogItemVariableSetExclusivity(arg: ObjectShape, diagnostics: Diagnostics, context: string): boolean; /** * Validates that variableMessage is provided when variableMessageType is set in a UI policy action. * Returns true if valid, false if a diagnostic was emitted. */ export declare function validateUiPolicyActionMessage(actionObj: ObjectShape, diagnostics: Diagnostics): boolean; /** * Validates that 'field' is provided when 'mapToField' is true in a variable config. * Returns true if valid, false if a diagnostic was emitted. */ export declare function validateMapToFieldRequiresField(config: ObjectShape, diagnostics: Diagnostics): boolean; /** * Validates that mandatory is not true when hidden or readOnly is true, and vice versa. * Returns true if valid, false if a diagnostic was emitted. */ export declare function validateMandatoryReadOnlyHidden(config: ObjectShape, diagnostics: Diagnostics): boolean; /** * Validates that selectionRequired is not true when hidden or readOnly is true, and vice versa. * This is specific to Checkbox variables which use selectionRequired instead of mandatory. * Returns true if valid, false if a diagnostic was emitted. */ export declare function validateSelectionRequiredReadOnlyHidden(config: ObjectShape, diagnostics: Diagnostics): boolean; /** * Validates lookup variable configuration: table-based and choice-based properties are mutually exclusive, * and price fields are not allowed when uniqueValuesOnly is true. * Returns true if valid, false if a diagnostic was emitted. */ export declare function validateLookupSourceExclusivity(config: ObjectShape, diagnostics: Diagnostics): boolean; /** * Validates that dependentQuestion, when provided as a bare object reference (e.g. a variable const * passed directly), is rejected — only string variable names and dot-walk into a variable set's * `variables` are supported authoring forms. Resolution/rejection of those two forms happens in * resolveDependentQuestion (shape-to-record.ts); this only guards against the unsupported object-ref form. * Returns true if valid, false if a diagnostic error was emitted. */ export declare function validateDependentQuestionType(config: ObjectShape, variableName: string, diagnostics: Diagnostics): boolean; /** * Validates reference qualifier fields are mutually exclusive and consistent with useReferenceQualifier. * referenceQualCondition, dynamicRefQual, and referenceQual are mutually exclusive. * Returns true if valid, false if a diagnostic was emitted. */ export declare function validateReferenceQualifierExclusivity(config: ObjectShape, diagnostics: Diagnostics, context: string): boolean;