export interface ListmonkList { id: number; uuid: string; name: string; type: 'public' | 'private' | 'temporary'; optin: 'single' | 'double'; tags: string[]; subscriber_count: number; created_at: string; updated_at: string; } export interface ListmonkSubscriber { id: number; uuid: string; email: string; name: string; status: 'enabled' | 'disabled' | 'blocklisted'; lists: ListmonkList[]; attribs: Record; created_at: string; updated_at: string; } export interface BulkSyncResult { total: number; success: number; failed: number; errors: string[]; } declare class ListmonkClient { private get baseUrl(); private get authHeader(); private get enabled(); private assertEnabled; private request; checkHealth(): Promise; getLists(): Promise; createList(name: string, type: 'public' | 'private', tags: string[]): Promise; findSubscriberByEmail(email: string): Promise; createSubscriber(email: string, name: string, listIds: number[], attribs: Record): Promise; updateSubscriber(id: number, data: { email: string; name?: string; lists?: number[]; attribs?: Record; }): Promise; updateList(id: number, data: { name?: string; tags?: string[]; }): Promise; deleteList(id: number): Promise; removeSubscriberFromLists(subscriberId: number, listIdsToRemove: number[], currentEmail: string, currentListIds: number[]): Promise; /** * Get campaigns with stats (for dashboard) */ getCampaigns(): Promise>; upsertSubscriber(email: string, name: string, listIds: number[], attribs: Record): Promise; } export declare const listmonkClient: ListmonkClient; export {}; //# sourceMappingURL=listmonk.client.d.ts.map