import Gdk from "gi://Gdk?version=3.0"; import Gtk from "gi://Gtk"; import { WrapMode } from "../../../enums/custom"; import type { Justification } from "../../../enums/gtk3-index"; import type { GjsContext } from "../../../reconciler/gjs-renderer"; import type { HostContext } from "../../../reconciler/host-context"; import { BaseElement, type GjsElement } from "../../gjs-element"; import { ElementLifecycleController } from "../../utils/element-extenders/element-lifecycle-controller"; import type { SyntheticEvent } from "../../utils/element-extenders/event-handlers"; import { EventHandlers } from "../../utils/element-extenders/event-handlers"; import type { DiffedProps } from "../../utils/element-extenders/map-properties"; import { PropertyMapper } from "../../utils/element-extenders/map-properties"; import type { MarkupAttributes } from "../../utils/markup-attributes"; import type { AlignmentProps } from "../../utils/property-maps-factories/create-alignment-prop-mapper"; import type { ChildPropertiesProps } from "../../utils/property-maps-factories/create-child-props-mapper"; import type { ExpandProps } from "../../utils/property-maps-factories/create-expand-prop-mapper"; import type { MarginProps } from "../../utils/property-maps-factories/create-margin-prop-mapper"; import type { SizeRequestProps } from "../../utils/property-maps-factories/create-size-request-prop-mapper"; import type { StyleProps } from "../../utils/property-maps-factories/create-style-prop-mapper"; import type { TextNode } from "../text-node"; import type { ITextViewElement, TextViewNode } from "./text-view-elem-interface"; type TextViewPropsMixin = ChildPropertiesProps & SizeRequestProps & AlignmentProps & MarginProps & ExpandProps & StyleProps; export type TextViewEvent

= {}> = SyntheticEvent; export interface TextViewProps extends TextViewPropsMixin { wrapMode?: WrapMode; lineTopMargin?: number; lineBottomMargin?: number; monospace?: boolean; jusification?: Justification; indent?: number; onLinkClick?: (event: TextViewEvent<{ href: string; }>) => void; } export declare class TextViewElement extends BaseElement implements GjsElement<"TEXT_VIEW", Gtk.TextView> { static getContext(currentContext: HostContext): HostContext; readonly kind = "TEXT_VIEW"; protected textBuffer: Gtk.TextBuffer; protected widget: Gtk.TextView; protected parent: GjsElement | null; protected children: Array; readonly lifecycle: ElementLifecycleController; protected readonly handlers: EventHandlers; protected readonly propsMapper: PropertyMapper; protected embeddedLinks: Array<{ start: number; end: number; href: string; }>; protected embeddedWidgets: Array<{ start: number; end: number; }>; constructor(props: DiffedProps); protected setCursor(type: Gdk.CursorType): void; updateProps(props: DiffedProps): void; appendChild(child: GjsElement | TextNode): void; insertBefore(child: GjsElement | TextNode, beforeChild: GjsElement | TextNode): void; remove(parent: GjsElement): void; protected triggerRepaint: () => void; render(): void; notifyWillMountTo(parent: GjsElement): boolean; notifyMounted(): void; notifyChildWillUnmount(child: GjsElement): void; show(): void; hide(): void; getWidget(): Gtk.TextView; getParentElement(): GjsElement | null; getTextView(): TextViewElement; protected insertNodesToBuffer(nodes: Array, parent?: { tag: string; attributes: MarkupAttributes; }): void; protected paint(): void; } export {};