import type { ErrorCode } from "../../types/index.js";
export declare class NeuroLinkFeatureError extends Error {
    readonly code: ErrorCode;
    readonly feature: string;
    readonly retryable: boolean;
    readonly details?: Record<string, unknown>;
    readonly cause?: Error;
    constructor(message: string, code: ErrorCode, feature: string, options?: {
        retryable?: boolean;
        details?: Record<string, unknown>;
        cause?: Error;
    });
}
export declare function createErrorFactory<TCodes extends Record<string, string>>(feature: string, codes: TCodes): {
    codes: TCodes;
    create: (code: keyof TCodes, message: string, options?: {
        retryable?: boolean;
        details?: Record<string, unknown>;
        cause?: Error;
    }) => NeuroLinkFeatureError;
};
