export declare const ErrorCode: {
    readonly SDK_ERROR: "SDK_ERROR";
    readonly API_ERROR: "API_ERROR";
    readonly VALIDATION_ERROR: "VALIDATION_ERROR";
    readonly STORAGE_ERROR: "STORAGE_ERROR";
    readonly RATE_LIMIT_ERROR: "RATE_LIMIT_ERROR";
    readonly PROCESSING_ERROR: "PROCESSING_ERROR";
    readonly CALCULATION_ERROR: "CALCULATION_ERROR";
    readonly CONFIGURATION_ERROR: "CONFIGURATION_ERROR";
    readonly COLLECTION_ERROR: "COLLECTION_ERROR";
    readonly INVALID_CONFIG: "INVALID_CONFIG";
    readonly UNKNOWN_ERROR: "UNKNOWN_ERROR";
    readonly UNAUTHORIZED: "UNAUTHORIZED";
    readonly LOW_COMMIT_COUNT: "LOW_COMMIT_COUNT";
    readonly SUSPICIOUS_COMMIT_FREQUENCY: "SUSPICIOUS_COMMIT_FREQUENCY";
    readonly LOW_AUTHOR_DIVERSITY: "LOW_AUTHOR_DIVERSITY";
    readonly HIGH_VELOCITY: "HIGH_VELOCITY";
    readonly SINGLE_PR_AUTHOR: "SINGLE_PR_AUTHOR";
    readonly LOW_PR_MERGE_RATE: "LOW_PR_MERGE_RATE";
    readonly LOW_REVIEW_ENGAGEMENT: "LOW_REVIEW_ENGAGEMENT";
    readonly LOW_ISSUE_ENGAGEMENT: "LOW_ISSUE_ENGAGEMENT";
    readonly LOW_ISSUE_RESOLUTION_RATE: "LOW_ISSUE_RESOLUTION_RATE";
    readonly MISSING_TIMESTAMP: "MISSING_TIMESTAMP";
    readonly STALE_DATA: "STALE_DATA";
};
export type ErrorCode = (typeof ErrorCode)[keyof typeof ErrorCode];
export declare class BaseError extends Error {
    code: ErrorCode;
    details?: Record<string, unknown> | undefined;
    context?: Record<string, unknown>;
    constructor(message: string, code: ErrorCode, details?: Record<string, unknown> | undefined);
}
export interface ErrorDetail {
    code: ErrorCode;
    message: string;
    context?: Record<string, unknown>;
}
export declare function formatError(error: unknown): ErrorDetail;
