import { type InquirerAdapter, ERROR_TYPE, ErrorHandler } from '@sap-ux/inquirer-common'; import { type Logger } from '@sap-ux/logger'; import { OdataVersion } from '@sap-ux/odata-service-writer'; import { type ToolsSuiteTelemetryClient } from '@sap-ux/telemetry'; import type { Question } from 'inquirer'; import type { ServiceAnswer } from './prompts/datasources/sap-system/service-selection/index.js'; import { type SystemSelectionAnswers } from './prompts/datasources/sap-system/system-selection/index.js'; import { CfAbapEnvServiceChoice, NewSystemChoice } from './prompts/datasources/sap-system/system-selection/prompt-helpers.js'; import type { Annotations } from '@sap-ux/axios-extension'; import type { TemplateType } from '@sap-ux/fiori-elements-writer'; import type { EntityRelatedAnswers, EntityPromptOptions, OdataServiceAnswers, OdataServicePromptOptions, OdataServiceQuestion, ConnectedSystem } from './types.js'; import { DatasourceType } from './types.js'; /** * Get the inquirer prompts for odata service. * * @param promptOptions - options that can control some of the prompt behavior. See {@link OdataServicePromptOptions} for details * @param logger - a logger compatible with the {@link Logger} interface * @param enableGuidedAnswers - if true, the prompts will use guided answers to help users with validation errors * @param telemetryClient - the telemetry client to use for sending telemetry data * @param isYUI - if true, the prompt is being called from the Yeoman UI extension host * @param connectedSystem - if available passing an already connected system connection will prevent re-authentication for re-entrance ticket and service keys connection types * @returns the prompts used to provide input for odata service generation and a reference to the answers object which will be populated with the user's responses once `inquirer.prompt` returns */ declare function getPrompts(promptOptions?: OdataServicePromptOptions, logger?: Logger, enableGuidedAnswers?: boolean, telemetryClient?: ToolsSuiteTelemetryClient, isYUI?: boolean, connectedSystem?: ConnectedSystem): Promise<{ prompts: OdataServiceQuestion[]; answers: Partial; }>; /** * Get the system selection questions. * * @param promptOptions - options that can control some of the prompt behavior. See {@link OdataServicePromptOptions} for details * @param isYUI - if true, the prompt is being called from the Yeoman UI extension host. PromptState.isYUI will be set to this value * @param logger - set an externally configured logger * @returns the prompts used to provide input for system selection and a reference to the answers object which will be populated with the user's responses once `inquirer.prompt` returns */ declare function getSystemSelectionQuestions(promptOptions?: OdataServicePromptOptions, isYUI?: boolean, logger?: Logger): Promise<{ prompts: Question[]; answers: Partial; }>; /** * Get the questions that may be used to prompt for entity selection, table configuration, annotation generation, and ALP specific table configuration. * Since these are releated to service metadata processing and entity selection, they are grouped together. * * @param metadata the metadata (edmx) string from which to extract entity choices * @param templateType the template type which will define the type of prompts and their choices * @param isCapService if true, the service is a CAP service, some prompts will be adjusted accordingly * @param promptOptions options that can control some of the prompt behavior. See {@link EntityPromptOptions} for details * @param annotations annotations to be used for entity selection, only used for analytical list page presentation variant qualifier choices when the edmx odata version is `2` * @param logger a logger compatible with the {@link Logger} interface * @param isYUI if true, the prompt is being called from the Yeoman UI extension host * @returns the prompts which may be used to prompt for entity selection, table configuration, annotation generation, and ALP specific table configuration */ declare function getEntityRelatedPrompts(metadata: string, templateType: TemplateType, isCapService?: boolean, promptOptions?: EntityPromptOptions, annotations?: Annotations, logger?: Logger, isYUI?: boolean): Question[]; /** * Prompt for odata service writer inputs. * * @param adapter - optionally provide references to a calling inquirer instance, this supports integration to Yeoman generators, for example * @param promptOptions - options that can control some of the prompt behavior. See {@link OdataServicePromptOptions} for details * @param logger - a logger compatible with the {@link Logger} interface * @param enableGuidedAnswers - if true, the prompts will use guided answers to help users with validation errors * @param telemetryClient - the telemetry client to use for sending telemetry data * @param isYUI - if true, the prompt is being called from the Yeoman UI extension host * @param connectedSystem - if available passing an already connected system connection will prevent re-authentication for re-entrance ticket and service keys connection types * @returns the prompt answers */ declare function prompt(adapter: InquirerAdapter, promptOptions?: OdataServicePromptOptions, logger?: Logger, enableGuidedAnswers?: boolean, telemetryClient?: ToolsSuiteTelemetryClient, isYUI?: boolean, connectedSystem?: ConnectedSystem): Promise; export { CfAbapEnvServiceChoice, DatasourceType, ERROR_TYPE, ErrorHandler, getEntityRelatedPrompts, getPrompts, getSystemSelectionQuestions, NewSystemChoice, OdataVersion, prompt }; export { promptNames } from './types.js'; export type { SystemSelectionAnswerType } from './prompts/datasources/sap-system/system-selection/prompt-helpers.js'; export type { CapRuntime, CapService } from '@sap-ux/cap-config-writer'; export type { InquirerAdapter } from '@sap-ux/inquirer-common'; export type { EntityRelatedAnswers, OdataServiceAnswers, OdataServicePromptOptions, SapSystemType, ConnectedSystem } from './types.js'; //# sourceMappingURL=index.d.ts.map