/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License", destination); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { BottomBarPanel, ContentAssist } from '../..';
import { TextView, ChannelView } from './AbstractViews';
import { ElementWithContextMenu } from '../ElementWithContextMenu';
/**
 * Output view of the bottom panel
 */
export declare class OutputView extends TextView {
    constructor(panel?: BottomBarPanel);
    /**
     * Select a channel using the selector combo
     * @param name name of the channel to open
     */
    selectChannel(name: string): Promise<void>;
}
/**
 * Debug Console view on the bottom panel
 * Most functionality will only be available when a debug session is running
 */
export declare class DebugConsoleView extends ElementWithContextMenu {
    constructor(panel?: BottomBarPanel);
    /**
     * Clear the console of all text
     */
    clearText(): Promise<void>;
    /**
     * Type an expression into the debug console text area
     * @param expression expression in form of a string
     */
    setExpression(expression: string): Promise<void>;
    /**
     * Evaluate an expression:
     *  - if no argument is supplied, evaluate the current expression present in debug console text area
     *  - if a string argument is supplied, replace the current expression with the `expression` argument and evaluate
     *
     * @param expression expression to evaluate. To use existing contents of the debug console text area instead, don't define this argument
     */
    evaluateExpression(expression?: string): Promise<void>;
    /**
     * Create a content assist page object
     * @returns promise resolving to ContentAssist object
     */
    getContentAssist(): Promise<ContentAssist>;
}
/**
 * Terminal view on the bottom panel
 */
export declare class TerminalView extends ChannelView {
    constructor(panel?: BottomBarPanel);
    /**
     * Execute command in the internal terminal and wait for results
     * @param command text of the command
     * @param timeout optional maximum time to wait for completion in milliseconds, 0 for unlimited
     * @returns Promise resolving when the command is finished
     */
    executeCommand(command: string, timeout?: number): Promise<void>;
    /**
     * Get all text from the internal terminal
     * Beware, no formatting.
     *
     * @returns Promise resolving to all terminal text
     */
    getText(): Promise<string>;
    /**
     * Destroy the currently open terminal
     * @returns Promise resolving when Kill Terminal button is pressed
     */
    killTerminal(): Promise<void>;
    /**
     * Initiate new terminal creation
     * @returns Promise resolving when New Terminal button is pressed
     */
    newTerminal(): Promise<void>;
    getCurrentChannel(): Promise<string>;
    selectChannel(name: string): Promise<void>;
}
