/**
 * Daemon Binary Resolver
 *
 * Resolves the path to the ghostflow-daemon binary based on platform and architecture.
 * Supports both development (local binary) and production (npm binary packages) modes.
 *
 * Uses @effect/platform stable modules (FileSystem, Path) for file operations.
 */
import { FileSystem, Path } from "@effect/platform";
import type { PlatformError } from "@effect/platform/Error";
import { Effect } from "effect";
declare const ResolverError_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: "ResolverError";
} & Readonly<A>;
/**
 * Error during daemon path resolution.
 * Used when the daemon binary cannot be located or validated.
 */
export declare class ResolverError extends ResolverError_base<{
    readonly message: string;
}> {
}
/**
 * Resolve the path to the ghostflow-daemon binary.
 *
 * Resolution order:
 * 1. Assembled app bundle in ~/Library/Application Support/ghostflow/Ghostflow.app
 * 2. Platform-specific npm binary package (@ghostflow/daemon-darwin-arm64, etc.)
 * 3. Local development build (.build/release or .build/debug)
 * 4. System PATH
 *
 * @returns Effect that resolves to the binary path or fails with ResolverError
 */
export declare const resolveDaemonPath: () => Effect.Effect<string, ResolverError | PlatformError, FileSystem.FileSystem | Path.Path>;
/**
 * Validate a user-provided daemon path for security and existence.
 *
 * Security measures:
 * - Path traversal attempts (..) are rejected on the ORIGINAL path (before normalization)
 * - Path must resolve to an allowed location (all checks use absolute paths)
 * - Binary must exist and be executable
 */
export declare const validateDaemonPath: (daemonPath: string) => Effect.Effect<string, ResolverError | PlatformError, FileSystem.FileSystem | Path.Path>;
export {};
//# sourceMappingURL=resolver.d.ts.map