export interface ErrorResponse {
    code: string;
    message: string;
    details?: any;
}
export declare class ApiError extends Error {
    readonly code: string;
    readonly statusCode: number;
    readonly details?: any;
    constructor(code: string, message: string, statusCode?: number, details?: any);
    toResponse(): ErrorResponse;
}
export declare function handleError(error: unknown): ErrorResponse;
export declare const ErrorTypes: {
    INVALID_ARGUMENT: (message: string, details?: any) => ApiError;
    NOT_FOUND: (message: string, details?: any) => ApiError;
    ABLETON_ERROR: (message: string, details?: any) => ApiError;
    INTERNAL_ERROR: (message: string, details?: any) => ApiError;
};
