import { UiComponentCommandHandler, UiComponentConfig } from "../generated/UiComponentConfig";
import { TeamAppsEvent } from "./util/TeamAppsEvent";
import { UiClientObject } from "./UiClientObject";
export interface UiComponent<C extends UiComponentConfig = UiComponentConfig> extends UiClientObject<C>, UiComponentCommandHandler {
    /**
     * @return The main DOM element of this component.
     */
    getMainElement(): HTMLElement;
    readonly onVisibilityChanged: TeamAppsEvent<boolean>;
    isVisible(): boolean;
}
