/**
 * 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 { ElementWithContextMenu } from '../ElementWithContextMenu';
/**
 * View with channel selector
 */
export declare abstract class ChannelView extends ElementWithContextMenu {
    protected actionsLabel: string;
    /**
     * Get names of all selectable channels
     * @returns Promise resolving to array of strings - channel names
     */
    getChannelNames(): Promise<string[]>;
    /**
     * Get name of the current channel
     * @returns Promise resolving to the current channel name
     * @deprecated For VS Code 1.88+ this method won't be working any more
     */
    getCurrentChannel(): Promise<string>;
    /**
     * Select a channel using the selector combo
     * @param name name of the channel to open
     */
    selectChannel(name: string): Promise<void>;
}
/**
 * View with channel selection and text area
 */
export declare abstract class TextView extends ChannelView {
    protected actionsLabel: string;
    /**
     * Get all text from the currently open channel
     * @returns Promise resolving to the view's text
     */
    getText(): Promise<string>;
    /**
     * Clear the text in the current channel
     * @returns Promise resolving when the clear text button is pressed
     */
    clearText(): Promise<void>;
}
