import { ComboBoxModel } from "@genexus/chameleon-controls-library";
import { KBVersion } from "../team-dev/version-control/common/types";
export declare class GxIdeRestoreVersion {
    #private;
    el: HTMLGxIdeRestoreVersionElement;
    /**
     * Indicates if the environments should be synchronized.
     */
    syncEnvironments: boolean;
    /**
     * Input value for the source version selector.
     */
    selectedSourceVersionName: string;
    /**
     * Selected source version from version selector.
     */
    selectedSourceVersion: KBVersion[];
    /**
     * Combo box model for the versions selector.
     */
    versionsComboBoxModel: ComboBoxModel;
    /**
     *  Callback invoked by pressing the ellipsis in the version selector.
     */
    readonly selectSourceVersionCallback: () => Promise<KBVersion[]>;
    /**
     * Callback invoked by pressing the Confirm button.
     */
    readonly confirmCallback: (restoreVersionData: RestoreVersionData) => Promise<void>;
    /**
     * Callback invoked by pressing the Cancel button.
     */
    readonly cancelCallback: () => Promise<void>;
    /**
     * The target version to which the restore will be made.
     */
    readonly toVersionInfo: KBVersion;
    /**
     * List of versions to show in the versions combo box.
     */
    readonly versions: KBVersion[];
    versionsChanged(): void;
    componentWillLoad(): Promise<void>;
    /**
     * Suspends or reactivates the shortcuts
     */
    suspendShortcuts(suspendShortcuts: boolean): Promise<void>;
    render(): any;
}
export type RestoreVersionData = {
    fromVersionName: string;
    fromVersionGuid: string;
    toVersionGuid: string;
    toVersionName: string;
    syncEnvironments: boolean;
};
