/** * Alert Client Item Model * * Extends Client with alert item metadata. * Used when listing clients within an alert context. */ import type { AlertItemValidationError } from "@artu-ai/shared"; import { Client, type ClientData } from "./Client"; /** * Client data enriched with alert item fields. */ export type AlertClientItemData = ClientData & { alertItemId?: string; alertItemValidationErrors?: AlertItemValidationError[]; alertItemScopeData?: Record; alertItemMetadata?: Record; alertItemCreatedAt?: string; linkedTransactionId?: string; }; /** * Alert Client Item Model. * * Extends Client with alert-item-specific fields. * alertItemId is optional because some clients are found via transactions * (not directly linked as alert items). */ export declare class AlertClientItem extends Client { protected _data: AlertClientItemData; /** * The alert item ID linking this client to the alert. * Undefined if the client is linked through a transaction rather than directly. */ get alertItemId(): string | undefined; /** * Whether this client is directly linked as an alert item * (vs. found through a transaction) */ get isDirect(): boolean; /** * Validation errors from the alert item */ get alertItemValidationErrors(): AlertItemValidationError[]; /** * Whether this alert item has validation errors */ get hasErrors(): boolean; /** * Whether this alert item has validation warnings */ get hasWarnings(): boolean; /** * Alert item scope data */ get alertItemScopeData(): Record | undefined; /** * Alert item metadata */ get alertItemMetadata(): Record | undefined; /** * When this client was added to the alert */ get alertItemCreatedAt(): Date | undefined; /** * The transaction ID that links this client to the alert (for indirect clients). * Undefined for directly-linked clients. */ get linkedTransactionId(): string | undefined; toString(): string; } export declare function isAlertClientItem(value: unknown): value is AlertClientItem;