///
import { Arguments, Button } from '@kui-shell/core';
import Terminal, { TerminalState } from './Terminal';
import { ContainerProps, StreamingStatus } from './ContainerCommon';
import { KubeOptions } from '../../../controller/kubectl/options';
import '../../../../web/scss/components/LogsSearch.scss';
interface State extends TerminalState {
nLines: number;
filter: Partial;
showingPrevious: boolean;
}
export declare function showingPrevious(args: Arguments): boolean;
export default class Logs extends Terminal {
constructor(props: ContainerProps);
protected supportsAllContainers(): boolean;
/** Which container should we focus on by default? */
protected defaultContainer(): any;
/** Text to display in the Toolbar. */
protected toolbarText(status: StreamingStatus): {
type: "error" | "info" | "warning";
text: string;
};
/** Addendum to toolbar text to denote whether we are showingPrevious */
private previousMessage;
/**
*
* @return whether we are showing logs for multiple containers,
* e.g. via a label selector
*
*/
private isMulti;
/**
*
* @return the command to issue in order to initialize the pty stream
*
*/
protected ptyCommand(): {
command: string;
isLive: "Live" | "Paused";
};
protected toolbarButtonsForStreaming(status: StreamingStatus): Button[];
/** Previous logs button */
private previous;
protected toolbarButtons(status: StreamingStatus): Button[];
/** The part of toggleStreaming that deals with PTY flow control. */
private doFlowControl;
/** Handler for Pause/Play. */
private toggleStreaming;
/** Should we wait a bit before proclaiming we have no data? */
protected needsHysteresis(): boolean;
/** Render the log content in the case we no logs to show. */
protected nothingToShow(): JSX.Element;
private readonly loglines;
private delay;
protected write(line: string): void;
private refill;
private delay2;
private onFilterChange;
private readonly _onFilterChange;
private filterPane;
render(): JSX.Element;
}
export {};