declare const GitError_base: new = {}>(args: import("effect/Types").Equals extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
readonly _tag: "GitError";
} & Readonly;
/**
* Git operation errors
* Used when git commands fail with non-zero exit codes
*/
export declare class GitError extends GitError_base<{
readonly command: string;
readonly exitCode: number;
readonly stderr: string;
readonly stdout?: string;
}> {
}
declare const FileSystemError_base: new = {}>(args: import("effect/Types").Equals extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
readonly _tag: "FileSystemError";
} & Readonly;
/**
* File system operation errors
* Used when file system operations (read, write, delete, mkdir, stat) fail
*/
export declare class FileSystemError extends FileSystemError_base<{
readonly operation: 'read' | 'write' | 'delete' | 'mkdir' | 'stat';
readonly path: string;
readonly cause: string;
}> {
}
declare const ConfigError_base: new = {}>(args: import("effect/Types").Equals extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
readonly _tag: "ConfigError";
} & Readonly;
/**
* Configuration errors
* Used when configuration operations fail (parsing, validation, migration)
*/
export declare class ConfigError extends ConfigError_base<{
readonly configPath: string;
readonly reason: 'parse' | 'validation' | 'missing' | 'migration';
readonly details: string;
}> {
}
declare const ProcessError_base: new = {}>(args: import("effect/Types").Equals extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
readonly _tag: "ProcessError";
} & Readonly;
/**
* Process/PTY errors
* Used when process spawning or PTY operations fail
*/
export declare class ProcessError extends ProcessError_base<{
readonly processId?: number;
readonly command: string;
readonly signal?: string;
readonly exitCode?: number;
readonly message: string;
}> {
}
declare const ValidationError_base: new = {}>(args: import("effect/Types").Equals extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
readonly _tag: "ValidationError";
} & Readonly;
/**
* Validation errors
* Used when input validation fails
*/
export declare class ValidationError extends ValidationError_base<{
readonly field: string;
readonly constraint: string;
readonly receivedValue: unknown;
}> {
}
/**
* Union type for all application errors
* Enables discriminated union type narrowing using _tag property
*/
export type AppError = GitError | FileSystemError | ConfigError | ProcessError | ValidationError;
export {};