import { ZodError } from 'zod';
export type ErrorSource = 'user' | 'client' | 'service' | 'unknown';
export interface BaseErrorOptions extends ErrorOptions {
    errorSource?: ErrorSource;
}
interface InternalErrorOptions extends BaseErrorOptions {
    defaultSource: ErrorSource;
}
export declare abstract class BaseError extends Error {
    readonly errorSource: ErrorSource;
    protected constructor(message: string, options: InternalErrorOptions);
}
/**
 * Converts an unknown thrown value to an Error instance.
 * Use in catch blocks to ensure the error field is always an Error object.
 */
export declare function toError(err: unknown): Error;
/**
 * Error indicating no agentcore project was found in the working directory.
 */
export declare class NoProjectError extends BaseError {
    constructor(message?: string, options?: BaseErrorOptions);
}
/**
 * Error thrown when an agent with the same name already exists.
 */
export declare class AgentAlreadyExistsError extends BaseError {
    constructor(agentName: string, options?: BaseErrorOptions);
}
/**
 * Error indicating an AWS permissions failure (AccessDenied / AccessDeniedException).
 */
export declare class AccessDeniedError extends BaseError {
    constructor(message: string, options?: BaseErrorOptions);
}
/**
 * Error indicating missing system dependencies required for an operation.
 */
export declare class DependencyCheckError extends BaseError {
    constructor(errors: string[], options?: BaseErrorOptions);
}
/**
 * Error indicating a referenced resource could not be found.
 */
export declare class ResourceNotFoundError extends BaseError {
    constructor(message: string, options?: BaseErrorOptions);
}
/**
 * Error indicating invalid input or configuration values.
 */
export declare class ValidationError extends BaseError {
    constructor(message: string, options?: BaseErrorOptions);
}
/**
 * Error thrown when AWS credentials are not configured or invalid.
 * Supports both a short message (for interactive mode) and detailed message (for CLI mode).
 */
export declare class AwsCredentialsError extends BaseError {
    readonly shortMessage: string;
    constructor(shortMessage: string, detailedMessage?: string, options?: BaseErrorOptions);
}
/**
 * Error indicating a packaging operation failed.
 */
export declare class PackagingError extends BaseError {
    constructor(message: string, options?: BaseErrorOptions);
}
/**
 * Error indicating the packaged artifact exceeds the size limit.
 */
export declare class ArtifactSizeError extends PackagingError {
    constructor(limitBytes: number, actualBytes: number, options?: BaseErrorOptions);
}
/**
 * Error indicating a required binary or tool is not installed.
 */
export declare class MissingDependencyError extends PackagingError {
    constructor(binary: string, installHint?: string, options?: BaseErrorOptions);
}
/**
 * Error indicating a required project file is missing.
 */
export declare class MissingProjectFileError extends PackagingError {
    constructor(filePath: string, options?: BaseErrorOptions);
}
/**
 * Error indicating the project language is not supported for packaging.
 */
export declare class UnsupportedLanguageError extends PackagingError {
    constructor(language: string, options?: BaseErrorOptions);
}
/**
 * Base class for all config-related errors.
 */
export declare abstract class ConfigError extends BaseError {
    protected constructor(message: string, options?: BaseErrorOptions);
}
/**
 * Thrown when a config file doesn't exist.
 */
export declare class ConfigNotFoundError extends ConfigError {
    readonly filePath: string;
    readonly fileType: string;
    constructor(filePath: string, fileType: string);
}
/**
 * Thrown when a config file can't be read.
 */
export declare class ConfigReadError extends ConfigError {
    readonly filePath: string;
    readonly cause: unknown;
    constructor(filePath: string, cause: unknown);
}
/**
 * Thrown when a config file can't be written.
 */
export declare class ConfigWriteError extends ConfigError {
    readonly filePath: string;
    readonly cause: unknown;
    constructor(filePath: string, cause: unknown);
}
/**
 * Thrown when config validation fails.
 */
export declare class ConfigValidationError extends ConfigError {
    readonly filePath: string;
    readonly fileType: string;
    readonly zodError: ZodError;
    constructor(filePath: string, fileType: string, zodError: ZodError);
}
/**
 * Thrown when JSON parsing fails.
 */
export declare class ConfigParseError extends ConfigError {
    readonly filePath: string;
    readonly cause: unknown;
    constructor(filePath: string, cause: unknown);
}
/**
 * Error indicating git repository initialization failed.
 */
export declare class GitInitError extends BaseError {
    constructor(message: string, options?: BaseErrorOptions);
}
/**
 * Error indicating a resource conflict (e.g., already exists).
 */
export declare class ConflictError extends BaseError {
    constructor(message: string, options?: BaseErrorOptions);
}
/**
 * Error indicating an operation timed out or exceeded retry limits.
 */
export declare class TimeoutError extends BaseError {
    constructor(message: string, options?: BaseErrorOptions);
}
/**
 * Error thrown when the dev server returns a non-OK HTTP response.
 */
export declare class ServerError extends BaseError {
    readonly statusCode: number;
    constructor(statusCode: number, body: string, options?: BaseErrorOptions);
}
/**
 * Error thrown when the connection to the dev server fails.
 */
export declare class ConnectionError extends BaseError {
    constructor(message: string, options?: BaseErrorOptions);
}
/**
 * Error indicating polling timed out.
 */
export declare class PollTimeoutError extends BaseError {
    constructor(timeoutMs: number, options?: BaseErrorOptions);
}
/**
 * Error indicating polling exhausted all retry attempts.
 */
export declare class PollExhaustedError extends BaseError {
    constructor(maxAttempts: number, options?: BaseErrorOptions);
}
export {};
//# sourceMappingURL=types.d.ts.map