/** * @file 用于显示日志的组件,比如显示命令行的输出结果 */ import React from 'react'; import type { RendererProps } from 'jamis-core'; import type { LogSchema } from './types'; interface LogProps extends RendererProps, Omit { } interface LogState { lastLine: string; logs: string[]; originLogs: string[]; refresh: boolean; showLineNumber: boolean; filterWord: string; } export declare class Log extends React.Component { static defaultProps: { height: number; autoScroll: boolean; placeholder: string; encoding: string; }; isDone: boolean; autoScroll: boolean; logRef: React.RefObject; state: LogState; constructor(props: LogProps); componentWillUnmount(): void; componentDidMount(): void; componentDidUpdate(prevProps: LogProps): void; pauseOrResumeScrolling(): void; refresh: (e: React.MouseEvent) => void; clear: (e: React.MouseEvent) => void; changeFilterWord: (value: string) => void; loadLogs(): Promise; renderHighlightWord(line: string): string | (string | JSX.Element)[]; renderHighlightWordWithAnsi(line: string): string; /** * 渲染某一行 */ renderLine(index: number, line: string, showLineNumber: boolean): JSX.Element; render(): JSX.Element; } export declare class LogRenderer extends Log { } export {};