import { FormSubmitResult, GxOption } from "../../common/types"; import { ControlValidation } from "../../common/form-validation"; import { ComboBoxModel, RadioGroupModel } from "@genexus/chameleon-controls-library"; export declare class GxIdeNewEnvironment { #private; el: HTMLGxIdeNewEnvironmentElement; advancedTabIsVisible: boolean; /** * Allows selecting multiple generators for the front end * TODO: Check if this property can be deleted, since we can call getFrontEndsCallback. */ frontEnds: GxOption[]; validatableControls: Map; dataStoresComboBoxModel: ComboBoxModel; languageComboBoxModel: ComboBoxModel; runtimesRadioGroupModel: RadioGroupModel; /** * Callback invoked when user wants to cancel */ readonly cancelCallback: CancelCallback; /** * Callback invoked when user confirms the KB creation */ readonly createCallback: CreateCallback; /** * Allows defining the DBMS to be used in the solution */ dataStores: GxOption[]; dataStoresChanged(newValue: GxOption[]): void; /** * Name of the new environment */ environmentName: string; /** * Callback invoked when user changes the language or the runtime */ readonly getDataSourcesCallback: GetDataSourcesCallback; /** * Callback invoked when user changes the language or data source */ readonly getEnvironmentNameCallback: GetEnvironmentNameCallback; /** * Callback invoked when user changes the language */ readonly getFrontEndsCallback: GetFrontEndsCallback; /** * Define if the Advanced tab should be displayed */ readonly isAdvanced: boolean; /** * Possible values for 'Language' combo */ languages: GxOption[]; languagesChanged(newValue: GxOption[]): void; /** * Callback invoked when selected runtime is changed */ readonly getLanguagesCallback: GetLanguagesCallback; /** * Possible values for 'Runtime Environment' radio button */ readonly runtimes: GxOption[]; runtimesChanged(newValue: GxOption[]): void; /** * Belongs to checkbox 'Set as current environment' @default true * */ readonly setAsTarget?: boolean; connectedCallback(): void; componentDidLoad(): void; componentDidRender(): void; componentWillLoad(): Promise; /** * Suspends or reactivates the shortcuts */ suspendShortcuts(suspendShortcuts: boolean): Promise; render(): any; } export type CancelCallback = () => Promise; export type CreateCallback = (data: NewEnvironmentData) => Promise; export type GetDataSourcesCallback = (selectedLanguageId: string, selectedRuntimeId: string) => Promise; export type GetEnvironmentNameCallback = (selectedLanguageId: string, selectedDataSourceId: string, selectedRuntimeId: string) => Promise; export type GetFrontEndsCallback = (selectedLanguageId: string) => Promise; export type GetLanguagesCallback = (selectedRuntimeId: string) => Promise; export interface NewEnvironmentData { setAsCurrent: boolean; name: string; runtime: string; language: string; dataStores: string; frontEnds: string[]; }