import { SmrtObject } from '@happyvertical/smrt-core'; import { EarnerOptions, EarnerStatus, PayoutMethod } from '../types.js'; export declare class Earner extends SmrtObject { /** * Tenant ID for multi-tenant isolation. Nullable so global/operator-level * earners remain possible; unlike legacy affiliates, sales earners are * tenant-owned by default. */ tenantId: string | null; /** * Identity link to a smrt-profiles Profile (cross-package string * reference — never a DDL foreign key). */ profileId: string; /** Human-readable display name for portals and operator views. */ displayName: string; /** Account lifecycle: `pending` (default) → `active` / `suspended`. */ status: EarnerStatus; /** Preferred payout delivery method. */ payoutMethod: PayoutMethod; /** * Minimum unsettled balance (integer cents) before a payout batch is * created. Default $50.00 = 5000 cents. */ payoutThresholdCents: number; /** * Payout cadence key. Open string so applications can define their own * schedules (`manual`, `monthly`, `weekly`, `net_30`, …); `manual` means * an operator triggers batches explicitly. */ payoutScheduleKey: string; /** ISO 4217 currency all of this earner's balances settle in. */ currency: string; /** * Additional metadata as a JSON string (tax info, payout-rail details, * …). Use {@link getMetadata}/{@link setMetadata}. */ metadata: string; constructor(options?: EarnerOptions); isActive(): boolean; isPending(): boolean; isSuspended(): boolean; /** Parse {@link metadata}; returns `{}` on empty/invalid JSON. */ getMetadata(): Record; /** Serialize and store {@link metadata}. */ setMetadata(data: Record): void; } export default Earner; //# sourceMappingURL=Earner.d.ts.map