/** * ContactMethod Model * * Communication channel for a client (email, phone, etc.). */ import { type ContactMethod as ContactMethodSchema, ContactMethodType } from "@artu-ai/shared"; import { BaseModel } from "./base"; /** * Contact method data structure from the API */ export interface ContactMethodData extends Omit { id: string; verifiedAt: string | null; createdAt: string; updatedAt: string; } /** * ContactMethod Model. * * Provides typed accessors for contact method data with formatting helpers. * * @example * ```typescript * const contacts = await sdk.contactMethods.listByClient("client_123"); * for (const contact of contacts) { * console.log(contact.display); * console.log(`Verified: ${contact.isVerified}`); * } * ``` */ export declare class ContactMethod extends BaseModel { /** * Unique contact method identifier */ get id(): string; /** * ID of the client this contact method belongs to */ get clientId(): string; /** * Contact method type (email, phone, mobile, fax, other) */ get type(): ContactMethodType; /** * Whether this is the primary contact method for its type */ get isPrimary(): boolean; /** * The contact value (email address, phone number, etc.) */ get value(): string; /** * Optional label (e.g., "Work", "Personal") */ get label(): string | undefined; /** * Whether this contact method has been verified */ get isVerified(): boolean; /** * When this contact method was verified */ get verifiedAt(): Date | null; /** * External ID */ get externalId(): string | undefined; /** * Additional metadata */ get metadata(): Record | undefined; /** * When the contact method was created */ get createdAt(): Date; /** * When the contact method was last updated */ get updatedAt(): Date; /** * Whether this is an email contact */ get isEmail(): boolean; /** * Whether this is a phone contact */ get isPhone(): boolean; /** * Whether this is a mobile contact */ get isMobile(): boolean; /** * Whether this is a fax contact */ get isFax(): boolean; /** * Returns a display string with optional label */ get display(): string; toString(): string; }