/** * LinkedClient Model * * Represents a client-to-client relationship with metadata. */ import type { ClientRelationshipType, LinkedClientResponse } from "@artu-ai/shared"; import { BaseModel } from "./base"; import { Client } from "./Client"; /** * Data structure for linked client. */ export type LinkedClientData = LinkedClientResponse; /** * LinkedClient model class. * * Provides typed access to linked client data including: * - Relationship type (legal_representative, controlling_beneficiary, etc.) * - The linked client * - Metadata for the relationship * - Timestamps * * @example * ```typescript * const linkedClients = await sdk.clients.listLinkedClients(companyId); * for (const linkedClient of linkedClients) { * console.log(linkedClient.id, linkedClient.relationshipType); * console.log(linkedClient.client.name); * console.log(linkedClient.metadata); * } * ``` */ export declare class LinkedClient extends BaseModel { /** * Unique identifier for this relationship */ get id(): string; /** * Type of relationship between the parent and child client. */ get relationshipType(): ClientRelationshipType; /** * The linked (child) client. */ get client(): Client; /** * Optional metadata for the relationship. */ get metadata(): Record | undefined; /** * When the relationship was created. */ get createdAt(): string; /** * When the relationship was last updated. */ get updatedAt(): string; } /** * Type guard for LinkedClient model. */ export declare function isLinkedClient(obj: unknown): obj is LinkedClient;