export declare class KistError extends Error {
    readonly code: string;
    readonly context?: Record<string, unknown>;
    readonly cause?: Error;
    constructor(message: string, code: string, context?: Record<string, unknown>, cause?: Error);
    toJSON(): Record<string, unknown>;
}
export declare class ConfigError extends KistError {
    constructor(message: string, context?: Record<string, unknown>, cause?: Error);
}
export declare class ConfigNotFoundError extends ConfigError {
    constructor(configPath: string, cause?: Error);
}
export declare class ConfigParseError extends ConfigError {
    constructor(configPath: string, parseError: string, cause?: Error);
}
export declare class ConfigValidationError extends ConfigError {
    readonly validationErrors: string[];
    constructor(validationErrors: string[], configPath?: string, cause?: Error);
}
export declare class BuildError extends KistError {
    constructor(message: string, context?: Record<string, unknown>, cause?: Error);
}
export declare class ActionError extends BuildError {
    constructor(actionName: string, message: string, context?: Record<string, unknown>, cause?: Error);
}
export declare class StepError extends BuildError {
    constructor(stepName: string, stageName: string, message: string, cause?: Error);
}
export declare class StageError extends BuildError {
    constructor(stageName: string, message: string, cause?: Error);
}
export declare class PluginError extends KistError {
    constructor(message: string, context?: Record<string, unknown>, cause?: Error);
}
export declare class PluginNotFoundError extends PluginError {
    constructor(pluginName: string, cause?: Error);
}
export declare class PluginInitError extends PluginError {
    constructor(pluginName: string, message: string, cause?: Error);
}
export declare class FileSystemError extends KistError {
    constructor(message: string, context?: Record<string, unknown>, cause?: Error);
}
export declare class FileNotFoundError extends FileSystemError {
    constructor(filePath: string, cause?: Error);
}
export declare class DirectoryNotFoundError extends FileSystemError {
    constructor(dirPath: string, cause?: Error);
}
export declare class PermissionError extends FileSystemError {
    constructor(path: string, operation: string, cause?: Error);
}
export declare class PathTraversalError extends FileSystemError {
    constructor(path: string, basePath: string);
}
export declare class CLIError extends KistError {
    constructor(message: string, context?: Record<string, unknown>, cause?: Error);
}
export declare class InvalidArgumentError extends CLIError {
    constructor(argument: string, reason: string);
}
export declare class MissingArgumentError extends CLIError {
    constructor(argument: string);
}
export declare class TimeoutError extends KistError {
    constructor(operation: string, timeoutMs: number, cause?: Error);
}
export declare class ResourceLimitError extends KistError {
    constructor(resource: string, limit: number, actual: number, unit?: string);
}
export declare const ErrorCodes: {
    readonly CONFIG_ERROR: "CONFIG_ERROR";
    readonly CONFIG_NOT_FOUND: "CONFIG_NOT_FOUND";
    readonly CONFIG_PARSE_ERROR: "CONFIG_PARSE_ERROR";
    readonly CONFIG_VALIDATION_ERROR: "CONFIG_VALIDATION_ERROR";
    readonly BUILD_ERROR: "BUILD_ERROR";
    readonly ACTION_ERROR: "ACTION_ERROR";
    readonly STEP_ERROR: "STEP_ERROR";
    readonly STAGE_ERROR: "STAGE_ERROR";
    readonly PLUGIN_ERROR: "PLUGIN_ERROR";
    readonly PLUGIN_NOT_FOUND: "PLUGIN_NOT_FOUND";
    readonly PLUGIN_INIT_ERROR: "PLUGIN_INIT_ERROR";
    readonly FS_ERROR: "FS_ERROR";
    readonly FILE_NOT_FOUND: "FILE_NOT_FOUND";
    readonly DIR_NOT_FOUND: "DIR_NOT_FOUND";
    readonly PERMISSION_ERROR: "PERMISSION_ERROR";
    readonly PATH_TRAVERSAL: "PATH_TRAVERSAL";
    readonly CLI_ERROR: "CLI_ERROR";
    readonly INVALID_ARGUMENT: "INVALID_ARGUMENT";
    readonly MISSING_ARGUMENT: "MISSING_ARGUMENT";
    readonly TIMEOUT_ERROR: "TIMEOUT_ERROR";
    readonly RESOURCE_LIMIT_ERROR: "RESOURCE_LIMIT_ERROR";
};
export type ErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes];
//# sourceMappingURL=index.d.ts.map