import type { AbapServiceProvider, FlexVersion, KeyUserChangeContent } from '@sap-ux/axios-extension'; import type { ToolsLogger } from '@sap-ux/logger'; import { type SystemLookup } from '@sap-ux/adp-tooling'; import type { KeyUserImportPromptOptions, KeyUserImportQuestion } from '../types.js'; export declare const DEFAULT_ADAPTATION_ID = "DEFAULT"; /** * Determines the flex version to be used. If the first version is the draft (versionId "0"), use the second version (active version). * * @param {FlexVersion[]} flexVersions - The list of flex versions. * @returns {string} The flex version to be used. */ export declare function determineFlexVersion(flexVersions: FlexVersion[]): string; /** * Prompter class that guides the user through importing key-user changes. */ export declare class KeyUserImportPrompter { private readonly systemLookup; private readonly componentId; private readonly defaultProvider; private readonly defaultSystem; private readonly logger; /** * Instance of AbapServiceProvider. */ private provider; /** * List of adaptations. */ private adaptations; /** * List of key-user changes. */ private keyUserChanges; /** * List of flex versions. */ private flexVersions; /** * Indicates if authentication is required. */ private isAuthRequired; /** * Constructs a new KeyUserImportPrompter. * * @param {SystemLookup} systemLookup - The system lookup. * @param {string} componentId - The component ID. * @param {AbapServiceProvider} defaultProvider - The default provider. * @param {string} defaultSystem - The default system. * @param {ToolsLogger} logger - The logger. */ constructor(systemLookup: SystemLookup, componentId: string, defaultProvider: AbapServiceProvider, defaultSystem: string, logger: ToolsLogger); /** * Returns the key-user changes. * * @returns {KeyUserChangeContent[]} The key-user changes. */ get changes(): KeyUserChangeContent[]; /** * Builds the prompts for the key-user import page. * * @param {KeyUserImportPromptOptions} [promptOptions] - Per-prompt settings (hide/default). * @returns {KeyUserImportQuestion[]} Questions for the key-user import page. */ getPrompts(promptOptions?: KeyUserImportPromptOptions): KeyUserImportQuestion[]; /** * Returns the system prompt. * * @param {KeyUserSystemPromptOptions} [options] - The options for the system prompt. * @returns {KeyUserImportQuestion} The system prompt. */ private getSystemPrompt; /** * Returns the username prompt. * * @param {KeyUserUsernamePromptOptions} [options] - The options for the username prompt. * @returns {KeyUserImportQuestion} The username prompt. */ private getUsernamePrompt; /** * Returns the password prompt. * * @param {KeyUserPasswordPromptOptions} [options] - The options for the password prompt. * @returns {KeyUserImportQuestion} The password prompt. */ private getPasswordPrompt; /** * Returns the adaptation prompt. * * @param {KeyUserAdaptationPromptOptions} [_] - The options for the adaptation prompt. * @returns {KeyUserImportQuestion} The adaptation prompt. */ private getAdaptationPrompt; /** * Loads adaptations for the current provider. */ private loadAdaptations; /** * Loads flex versions for the current provider. */ private loadFlexVersions; /** * Resets the state by clearing adaptations, flex versions, and key-user changes. */ private resetState; /** * Loads flex versions and adaptations, then validates key-user changes if only DEFAULT adaptation exists. * * @returns The result of key-user validation if only DEFAULT exists, or true. */ private loadDataAndValidateKeyUserChanges; /** * Validates the system selection by testing the connection. * * @param {string} system - The selected system. * @param {KeyUserImportAnswers} answers - The configuration answers provided by the user. * @returns An error message if validation fails, or true if the system selection is valid. */ private validateSystem; /** * Validates the password by testing the connection. * * @param {string} password - The inputted password. * @param {KeyUserImportAnswers} answers - The configuration answers provided by the user. * @returns An error message if validation fails, or true if the password is valid. */ private validatePassword; /** * Validates the key-user changes by testing the connection. * * @param {string} adaptationId - The selected adaptation. * @returns An error message if validation fails, or true if the key-user changes are valid. */ private validateKeyUserChanges; } //# sourceMappingURL=key-user.d.ts.map