import React from 'react'; import { TermElement } from './dom/TermElement'; import { RunOptions, TermScreen } from './dom/TermScreen'; import { Rect } from './misc/Rect'; export * from './index'; export declare function useScreen(): TermScreen; export declare function useScreenColor(color: string): void; export type CanvasElementSpec = { computeRefreshRect?: (newProps: T & { contentRect: Rect; }, oldProps: T) => Rect; renderLine: (el: TermElement, x: number, y: number, l: number, props: T & { contentRect: Rect; }) => string | null; }; export declare function createCanvasElement(spec: CanvasElementSpec): (initialProps: T) => readonly [(props: React.ComponentProps<`term:div`>) => React.ReactElement<{ key?: string; ref: React.Ref; flex?: string | number | typeof Symbol.toStringTag | typeof Symbol.iterator | [string | number, keyof import("./index").Optional, keyof import("./index").Optional<(typeof import("./index").length | ((rawValue: `auto`) => { value: number; isRelative: boolean; yoga: string; } | undefined))[], { value: number; isRelative: boolean; yoga: string; }>] | [keyof import("./index").Optional, keyof import("./index").Optional, string | number] | undefined; height?: string | number | undefined; width?: string | number | undefined; left?: string | number | undefined; top?: string | number | undefined; alignContent?: "auto" | "center" | "inherit" | "stretch" | "flexStart" | "flexEnd" | "spaceBetween" | "spaceAround" | undefined; alignItems?: "auto" | "center" | "inherit" | "stretch" | "flexStart" | "flexEnd" | "spaceBetween" | "spaceAround" | undefined; alignSelf?: "auto" | "center" | "inherit" | "stretch" | "flexStart" | "flexEnd" | "spaceBetween" | "spaceAround" | undefined; background?: string | typeof Symbol.toStringTag | typeof Symbol.iterator | [keyof import("./index").Optional, string] | [string, keyof import("./index").Optional] | undefined; backgroundClip?: "inherit" | "borderBox" | "paddingBox" | "contentBox" | undefined; backgroundColor?: string | undefined; border?: "block" | "inherit" | "strong" | "double" | "simple" | {} | [[string | null], [string | null, string | null], [string | null, string | null, string | null, string | null], [string | null, string | null, string | null, string | null, string | null], [string | null, string | null, string | null, string | null, string | null, string | null, string | null, string | null]] | "modern" | "rounded" | undefined; borderColor?: string | null | undefined; bottom?: string | number | undefined; color?: string | null | undefined; display?: "flex" | "none" | "inherit" | null | undefined; flexBasis?: string | number | undefined; flexDirection?: "inherit" | "column" | "row" | "rowReverse" | "columnReverse" | undefined; flexGrow?: string | number | undefined; flexShrink?: string | number | undefined; fontStyle?: "normal" | "inherit" | "italic" | undefined; fontWeight?: "bold" | "normal" | "inherit" | "light" | undefined; inset?: {} | [[string | number], [string | number, string | number]] | undefined; margin?: "inherit" | {} | [[string], [string, string], [string, string, string, string]] | undefined; marginBottom?: string | number | undefined; marginLeft?: string | number | undefined; marginRight?: string | number | undefined; marginTop?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; overflow?: "inherit" | "hidden" | "visible" | "scroll" | undefined; overflowWrap?: "normal" | "inherit" | "breakWord" | undefined; padding?: "inherit" | {} | [[string | number], [string | number, string | number], [string | number, string | number, string | number, string | number]] | undefined; paddingBottom?: string | number | undefined; paddingLeft?: string | number | undefined; paddingRight?: string | number | undefined; paddingTop?: string | number | undefined; pointerEvents?: true | "inherit" | null | undefined; position?: "fixed" | "absolute" | "inherit" | "relative" | "sticky" | undefined; right?: string | number | undefined; textAlign?: "center" | "left" | "right" | "inherit" | "justify" | undefined; textDecoration?: "inherit" | "underline" | null | undefined; whiteSpace?: "normal" | "inherit" | "pre" | "noWrap" | "preWrap" | "preLine" | undefined; zIndex?: string | number | null | undefined; insetX?: string | number | undefined; insetY?: string | number | undefined; borderCharacter?: "block" | "inherit" | "strong" | "double" | "simple" | "modern" | "rounded" | {} | [[string | null, string | null, string | null, string | null, string | null], [string | null, string | null, string | null, string | null, string | null, string | null], [string | null, string | null, string | null, string | null, string | null, string | null, string | null, string | null]] | undefined; borderLeftCharacter?: string | null | undefined; borderRightCharacter?: string | null | undefined; borderTopCharacter?: string | null | undefined; borderBottomCharacter?: string | null | undefined; borderTopLeftCharacter?: string | null | undefined; borderTopRightCharacter?: string | null | undefined; borderBottomLeftCharacter?: string | null | undefined; borderBottomRightCharacter?: string | null | undefined; backgroundCharacter?: string | undefined; focusEvents?: true | "inherit" | null | undefined; alwaysScrollToBottom?: boolean | undefined; decorated?: boolean | undefined; onLayout?: ((e: import("./index").Event) => void) | undefined; onFocus?: ((e: import("./index").Event) => void) | undefined; onBlur?: ((e: import("./index").Event) => void) | undefined; onScroll?: ((e: import("./index").Event) => void) | undefined; onCaret?: ((e: import("./index").Event) => void) | undefined; onData?: ((e: import("./index").Event) => void) | undefined; onKeyPress?: ((e: import("./index").Event) => void) | undefined; onMouseMove?: ((e: import("./index").Event) => void) | undefined; onMouseWheel?: ((e: import("./index").Event) => void) | undefined; onMouseDown?: ((e: import("./index").Event) => void) | undefined; onMouseUp?: ((e: import("./index").Event) => void) | undefined; onMouseOver?: ((e: import("./index").Event) => void) | undefined; onMouseOut?: ((e: import("./index").Event) => void) | undefined; onMouseEnter?: ((e: import("./index").Event) => void) | undefined; onMouseLeave?: ((e: import("./index").Event) => void) | undefined; onClick?: ((e: import("./index").Event) => void) | undefined; children?: React.ReactNode; }, string | React.JSXElementConstructor>, (props?: Partial) => void]; /** * Render a React element into the terminal. Return a promise that resolves when the screen is closed. */ export declare function render(element: React.ReactNode): Promise; export declare function render(opts: RunOptions, element: React.ReactNode): Promise;