/// 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 {};