import { SmrtObject } from '@happyvertical/smrt-core'; import { AccountOptions, MessageSenderInterface } from '../types'; export declare class Account extends SmrtObject { tenantId: string | null; name: string; providerType: string; channelType: string; credentialSecretId: string | null; isActive: boolean; lastSyncAt: Date | null; settings: string; /** Non-secret provider configuration such as a Zulip site URL. */ configuration: string; createdAt: Date; updatedAt: Date; constructor(options?: AccountOptions); /** * Get settings as parsed object */ getSettings(): Record; /** * Set settings from object */ setSettings(settings: Record): void; getConfiguration(): Record; setConfiguration(configuration: Record): void; get hasCredentials(): boolean; /** * Activate account */ activate(): Promise; /** * Deactivate account */ deactivate(): Promise; /** * Store credentials securely using smrt-secrets */ setCredentials(credentials: Record, options?: { description?: string; category?: string; }): Promise; /** * Create a sender for this account. * Subclasses must override to return a concrete sender. */ createSender(): Promise; /** * Retrieve stored credentials */ getCredentials(): Promise | null>; private getCredentialTenantId; private requireCredentialTenantId; private withCredentialTenantContext; } //# sourceMappingURL=Account.d.ts.map