import React from 'react';
import type { CommentaryResponse, Tab } from '@kui-shell/core';
type Props = CommentaryResponse['props'] & {
    tab: Tab;
    execUUID: string;
    willUpdateResponse?: (text: string) => void;
    willRemove?: () => void;
    willUpdateCommand?: (command: string) => void;
    onRender: () => void;
};
export declare function onCommentaryEdit(channel: string, cb: (textValue: string, filepath?: string) => void): void;
export declare function offCommentaryEdit(channel: string, cb: (textValue: string, filepath?: string) => void): void;
export default class CommentaryExternal extends React.PureComponent<Props> {
    render(): JSX.Element;
}
type ReactProps = React.PropsWithChildren<unknown>;
export declare class ReactCommentary extends React.PureComponent<ReactProps> {
    render(): JSX.Element;
}
export {};
