import type { Attribute, AttributePayload, EngagementMessage, EngagementServiceConfig, Segment } from './types'; export declare class EngagementService { constructor(config: EngagementServiceConfig); private appId; private readonly networkClient; private readonly events; private profileId?; private profileData?; private messages; private readonly environment?; private messageCache; private readonly cacheTTL; setProfileAttributes(attributes: Attribute[]): Promise; setProfileAttribute(key: string, value: string): Promise; getProfile(accountId?: string, forceProfileSync?: boolean, appId?: string): Promise; getSegments(attribute?: string): Promise; setPushToken(pushToken: string): Promise; setAppId(id: string): void; /** * Get inbox messages for the current user * * @return inbox messages */ getMessages(): Promise; getInboxMessages(attributes?: AttributePayload): Promise; /** * Accepts array of inbox messages * Fetches sort order array (stored in app settings) * * @param messages inbox messages to sort * @return sorted inbox messages */ sortInbox(messages: EngagementMessage[]): Promise; getInboxBySegment(segmentId: number | string, segmentOnly?: boolean): Promise; }