/**
 * Base error class for all NeuroLink-specific errors.
 * This allows for easy identification of errors thrown by the SDK.
 */
export declare class BaseError extends Error {
    constructor(message: string);
}
/**
 * Thrown when a provider encounters a generic error.
 */
export declare class ProviderError extends BaseError {
    provider?: string | undefined;
    constructor(message: string, provider?: string | undefined);
}
/**
 * Thrown for authentication-related errors, such as invalid or missing API keys.
 */
export declare class AuthenticationError extends ProviderError {
    constructor(message: string, provider?: string);
}
/**
 * Thrown for authorization errors, where the user does not have permission.
 */
export declare class AuthorizationError extends ProviderError {
    constructor(message: string, provider?: string);
}
/**
 * Thrown for network-related issues, such as connectivity problems or timeouts.
 */
export declare class NetworkError extends ProviderError {
    constructor(message: string, provider?: string);
}
/**
 * Thrown when an API rate limit has been exceeded.
 */
export declare class RateLimitError extends ProviderError {
    constructor(message: string, provider?: string);
}
/**
 * Thrown when a specified model is not found or is invalid for the provider.
 */
export declare class InvalidModelError extends ProviderError {
    constructor(message: string, provider?: string);
}
/**
 * Base class for OAuth-specific errors
 */
export declare class OAuthError extends BaseError {
    code?: string | undefined;
    constructor(message: string, code?: string | undefined);
}
/**
 * Thrown when OAuth configuration is invalid or missing
 */
export declare class OAuthConfigurationError extends OAuthError {
    constructor(message: string);
}
/**
 * Thrown when authorization code exchange fails
 */
export declare class OAuthTokenExchangeError extends OAuthError {
    statusCode?: number | undefined;
    constructor(message: string, statusCode?: number | undefined);
}
/**
 * Thrown when token refresh fails
 */
export declare class OAuthTokenRefreshError extends OAuthError {
    statusCode?: number | undefined;
    constructor(message: string, statusCode?: number | undefined);
}
/**
 * Thrown when token validation fails
 */
export declare class OAuthTokenValidationError extends OAuthError {
    constructor(message: string);
}
/**
 * Thrown when token revocation fails
 */
export declare class OAuthTokenRevocationError extends OAuthError {
    statusCode?: number | undefined;
    constructor(message: string, statusCode?: number | undefined);
}
/**
 * Thrown when callback server operations fail
 */
export declare class OAuthCallbackServerError extends OAuthError {
    constructor(message: string);
}
/**
 * Token storage error for authentication-related failures
 */
export declare class TokenStoreError extends BaseError {
    readonly code: "STORAGE_ERROR" | "ENCRYPTION_ERROR" | "VALIDATION_ERROR" | "NOT_FOUND" | "REFRESH_ERROR";
    constructor(message: string, code?: "STORAGE_ERROR" | "ENCRYPTION_ERROR" | "VALIDATION_ERROR" | "NOT_FOUND" | "REFRESH_ERROR");
}
/**
 * Error thrown when model access is denied based on subscription tier
 */
export declare class ModelAccessError extends BaseError {
    readonly model: string;
    readonly tier: string;
    readonly requiredTier: string;
    constructor(model: string, tier: string, requiredTier: string);
}
