import { ChatCompletionCreateParamsNonStreaming } from "openai/resources";
export declare abstract class BaseError extends Error {
    readonly cause?: Error | undefined;
    constructor(message: string, cause?: Error | undefined);
}
export declare class ValidationError extends BaseError {
    constructor(message: string, cause?: Error);
}
export declare class MessageValidationError extends ValidationError {
    constructor(message: string, cause?: Error);
}
export declare class FileSystemError extends BaseError {
    readonly path: string;
    constructor(message: string, path: string, cause?: Error);
}
export declare class DirectoryAccessError extends FileSystemError {
    constructor(dirPath: string, cause?: Error);
}
export declare class FileReadError extends FileSystemError {
    constructor(filePath: string, cause?: Error);
}
export declare class FileImportError extends FileSystemError {
    constructor(filePath: string, cause?: Error);
}
export declare class ToolError extends BaseError {
    readonly toolName: string;
    constructor(message: string, toolName: string, cause?: Error);
}
export declare class InvalidToolError extends ToolError {
    constructor(toolName: string, details: string, cause?: Error);
}
export declare class ToolNotFoundError extends ToolError {
    constructor(toolName: string, cause?: Error);
}
export declare class FunctionCallError extends ToolError {
    constructor(functionName: string, details: string, cause?: Error);
}
export declare class APIError extends BaseError {
    readonly payload: ChatCompletionCreateParamsNonStreaming;
    constructor(message: string, payload: ChatCompletionCreateParamsNonStreaming, cause?: Error);
}
export declare class ToolCompletionError extends APIError {
    constructor(payload: ChatCompletionCreateParamsNonStreaming, cause?: Error);
}
export declare class ChatCompletionError extends APIError {
    constructor(payload: ChatCompletionCreateParamsNonStreaming, cause?: Error);
}
export declare class StorageError extends BaseError {
    constructor(message: string, cause?: Error);
}
export declare class RedisError extends StorageError {
    constructor(message: string, cause?: Error);
}
export declare class RedisConnectionError extends RedisError {
    constructor(message: string, cause?: Error);
}
export declare class RedisKeyValidationError extends RedisError {
    constructor(message: string, cause?: Error);
}
//# sourceMappingURL=errors.d.ts.map