import { EventEmitter } from "../../../stencil-public-runtime";
import { ModuleServerType, ModuleServerFullData, EditServerModuleResult } from "../types";
export declare class GxIdeEditModuleServer {
    #private;
    el: HTMLGxIdeEditModuleServerElement;
    selectedType: "local" | "remote";
    /**
     * Cancel callback
     */
    readonly cancelCallback: CancelCallback;
    /**
     * Confirm callback
     */
    readonly confirmCallback: ConfirmCallback;
    /**
     * The name of the server
     */
    readonly name: string;
    /**
     * Callback invoked when wants to select a local folder that have modules inside
     */
    readonly selectSourceCallback: SelectSourceCallback;
    /**
     * Disk path or server url
     */
    readonly source: string;
    /**
     * Id of the currently selected server type
     */
    readonly type: string;
    /**
     * The type of the server
     */
    readonly types: ModuleServerType[];
    /**
     * This event is emitted once just after the component is fully loaded and the first render() occurs
     */
    componentDidRenderFirstTime: EventEmitter<boolean>;
    componentWillLoad(): Promise<void>;
    componentDidRender(): void;
    /**
     * Suspends or reactivates the shortcuts
     */
    suspendShortcuts(suspendShortcuts: boolean): Promise<void>;
    render(): any;
}
export type ConfirmCallback = (data: ModuleServerFullData) => Promise<EditServerModuleResult>;
export type CancelCallback = () => Promise<void>;
export type SelectSourceCallback = () => Promise<string | undefined>;
