import { Component } from 'vue'; import { DOMElement, LayoutTree } from '@wolf-tui/core'; export interface RenderOptions { stdout?: NodeJS.WriteStream; stdin?: NodeJS.ReadStream; stderr?: NodeJS.WriteStream; maxFps?: number; /** * Configure whether Wolfie should listen for Ctrl+C keyboard input and * exit the app. Needed because stdin is in raw mode, so Ctrl+C is * ignored by default and must be handled manually. * * @default true */ exitOnCtrlC?: boolean; /** * Enable debug mode (disables throttling for synchronous testing) */ debug?: boolean; /** * Enable screen reader mode. When enabled, the renderer outputs * plain text optimized for screen readers without ANSI styles. * * @default process.env['INK_SCREEN_READER'] === 'true' */ isScreenReaderEnabled?: boolean; incrementalRendering?: boolean; } export type WolfieVueInstance = { layoutTree: LayoutTree; }; export declare const layoutTreeRegistry: WeakMap; declare class WolfieVue { private rootNode; private app; private stdout; private stdin; private stderr; private log; private isUnmounted; private layoutTree; private eventEmitter; private lastTerminalWidth; private lastOutput; private lastOutputHeight; private isFirstRender; private unsubscribeResize?; private isScreenReaderEnabled; private scheduleRender; private flushRender; private focusables; private activeFocusId; private isFocusEnabled; private exitOnCtrlC; constructor(options?: RenderOptions); getTerminalWidth: () => number; resized: () => void; private preMeasureTextNodes; private resolveViewportUnitsInTree; calculateLayout: () => void; private onRender; writeToStdout(data: string): void; writeToStderr(data: string): void; private addFocusable; private removeFocusable; private activateFocusable; private deactivateFocusable; private focusNext; private focusPrevious; private focus; private enableFocus; private disableFocus; private handleFocusInput; render(component: Component): void; unmount(): void; } export declare const render: (component: Component, options?: RenderOptions) => WolfieVue; export { registerStyles, registerTailwindMetadata, clearGlobalStyles, getGlobalStyle, resolveClassName, } from './styles/index.js'; export type { ClassNameValue } from './styles/index.js'; export { provideTheme, extendTheme, defaultTheme, useComponentTheme, type ITheme, type IComponentTheme, type IComponentStyles, } from './theme/index.js'; export * from './components/index.js'; export { useApp } from './composables/use-app.js'; export { useInput } from './composables/use-input.js'; export type { Key, Handler } from './composables/use-input.js'; export { useFocus } from './composables/use-focus.js'; export { useFocusManager } from './composables/use-focus-manager.js'; export { useStdin } from './composables/use-stdin.js'; export { useStdout } from './composables/use-stdout.js'; export { useStderr } from './composables/use-stderr.js'; export { useIsScreenReaderEnabled } from './composables/use-is-screen-reader-enabled.js'; export { ref, reactive, computed, watch, watchEffect, onMounted, onUnmounted, onBeforeMount, onBeforeUnmount, onUpdated, onBeforeUpdate, getCurrentInstance, provide, inject, nextTick, toRef, toRefs, toRaw, unref, isRef, isReactive, isReadonly, shallowRef, shallowReactive, shallowReadonly, triggerRef, customRef, markRaw, effectScope, getCurrentScope, onScopeDispose, defineComponent, h, openBlock, createBlock, createElementBlock, createElementVNode, createVNode, createTextVNode, createCommentVNode, createStaticVNode, Fragment, Teleport, Suspense, KeepAlive, Transition, TransitionGroup, resolveComponent, resolveDirective, resolveDynamicComponent, withDirectives, withModifiers, withKeys, withCtx, renderList, renderSlot, toDisplayString, toHandlers, normalizeClass, normalizeStyle, normalizeProps, guardReactiveProps, mergeProps, cloneVNode, isVNode, vShow, vModelText, vModelCheckbox, vModelRadio, vModelSelect, vModelDynamic, useCssVars, useCssModule, useSlots, useAttrs, ssrContextKey, useSSRContext, } from 'vue'; export type { PropType, Component, Ref, ComputedRef, VNode } from 'vue'; export type { Styles } from '@wolf-tui/core'; //# sourceMappingURL=index.d.ts.map