/**
 * TUI Entry Point
 *
 * Renders the Ink TUI application using the unified GhostflowSDK.
 * The SDK handles all service composition and lifecycle management.
 * Runs first-time setup automatically if needed.
 *
 * Exports a pure Effect that requires LaunchdService - run with
 * NodeRuntime.runMain and provide MainLive from the CLI entry point.
 */
import type { FileSystem, Path, Terminal } from "@effect/platform";
import type { PlatformError } from "@effect/platform/Error";
import type { QuitException } from "@effect/platform/Terminal";
import type { GhostflowSDK, GhostflowSDKConfig, LaunchdError } from "@ghostflow/client";
import { LaunchdService } from "@ghostflow/client";
import { Effect } from "effect";
import type { ResolverError } from "../resolver.js";
import type { SetupError } from "../setup.js";
declare const DaemonNotReadyError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
    readonly _tag: "DaemonNotReadyError";
} & Readonly<A>;
/** Error when daemon fails to become ready within timeout */
export declare class DaemonNotReadyError extends DaemonNotReadyError_base<{
    readonly message: string;
    readonly attempts: number;
}> {
}
declare const TuiRenderError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
    readonly _tag: "TuiRenderError";
} & Readonly<A>;
/** Error when TUI rendering fails */
export declare class TuiRenderError extends TuiRenderError_base<{
    readonly message: string;
    readonly cause?: unknown;
}> {
}
declare const SdkInitError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
    readonly _tag: "SdkInitError";
} & Readonly<A>;
/** Error when SDK initialization fails */
export declare class SdkInitError extends SdkInitError_base<{
    readonly message: string;
    readonly cause?: unknown;
}> {
}
/** All possible errors from TUI startup */
export type TuiError = DaemonNotReadyError | TuiRenderError | SdkInitError | SetupError | ResolverError | LaunchdError | PlatformError | QuitException;
/** All required services for TUI */
export type TuiRequirements = LaunchdService | FileSystem.FileSystem | Path.Path | Terminal.Terminal;
/**
 * TUI startup as a pure Effect with resource management.
 *
 * Ensures setup is complete, daemon is running, acquires SDK,
 * renders TUI, and automatically disposes SDK on exit.
 *
 * Requires LaunchdService - provide MainLive and run with NodeRuntime.runMain.
 * Uses acquireUseRelease for clean acquire → use → release pattern.
 */
export declare const tui: (config?: GhostflowSDKConfig) => Effect.Effect<void, TuiError, TuiRequirements>;
export { App } from "./App.js";
export type { GhostflowSDK };
//# sourceMappingURL=index.d.ts.map