import type { ReactElement } from 'react'; export interface InkInputGuard { attach(): void; detach(): void; } /** * Mounts one Ink tree, waits for it to settle, and gives the terminal back. * * The selectors this run puts on screen are the ordinary readline ones, and * they need the terminal to themselves, so a run mounts and unmounts Ink around * each of them instead of keeping one tree up for the whole session. Ownership, * the keyboard protocol and the tree itself are therefore taken and returned * inside this one call, which is what keeps the pairs matched. */ export declare function mountInk(buildTree: (handlers: { settle: (value: T) => void; /** Ends the mount with a failure, which outranks any teardown failure. */ fail: (error: unknown) => void; }) => ReactElement, exitedEarlyMessage: string, inputGuard?: InkInputGuard): Promise; //# sourceMappingURL=inkMount.d.ts.map