/** * Base Model Class * * Abstract base class for all data models. * Models are pure data containers - they never make API calls. */ /** * Abstract base class for all data models. * * - **Immutable**: Data is frozen on construction * - **Pure data**: No API calls, just typed accessors * - **Serializable**: `toJSON()` returns the raw data * * @typeParam TData - The raw data type this model wraps * * @example * ```typescript * class Client extends BaseModel { * get id(): string { return this._data.id; } * get name(): string { return this._data.name; } * } * ``` */ export declare abstract class BaseModel { /** * The underlying raw data. * Frozen to ensure immutability. */ protected readonly _data: TData; constructor(data: TData); /** * Returns the raw data object. * Useful for serialization and debugging. */ toJSON(): TData; /** * Returns a string representation of the model. * Override in subclasses for better output. */ toString(): string; }