import { EntityInstanceId } from "./entity-instance-id"; import * as pb from "../proto/orchestrator_service_pb"; /** * Details about a task failure. * * @remarks * Contains structured information about an error that occurred during * entity operation execution, including error type, message, and stack trace. */ export interface TaskFailureDetails { /** * The type of error (e.g., exception type name). */ readonly errorType: string; /** * The error message. */ readonly errorMessage: string; /** * The stack trace, if available. */ readonly stackTrace?: string; /** * Details about an inner failure, if any. */ readonly innerFailure?: TaskFailureDetails; } /** * Creates TaskFailureDetails from a protobuf TaskFailureDetails message. * * @param proto - The protobuf TaskFailureDetails message. * @returns The TaskFailureDetails object. */ export declare function createTaskFailureDetails(proto: pb.TaskFailureDetails | undefined): TaskFailureDetails | undefined; /** * Exception that gets thrown when an entity operation fails with an unhandled exception. * * @remarks * Detailed information associated with a particular operation failure, including exception details, * can be found in the `failureDetails` property. */ export declare class EntityOperationFailedException extends Error { /** * The ID of the entity. */ readonly entityId: EntityInstanceId; /** * The name of the operation that failed. */ readonly operationName: string; /** * The details of the task failure, including exception information. */ readonly failureDetails: TaskFailureDetails; /** * Creates a new EntityOperationFailedException. * * @param entityId - The entity ID. * @param operationName - The operation name. * @param failureDetails - The failure details. */ constructor(entityId: EntityInstanceId, operationName: string, failureDetails: TaskFailureDetails); private static getExceptionMessage; }