/// import * as Promise from "bluebird"; export interface AweberConfig { consumerKey: string; consumerSecret: string; accessKey: string; accessSecret: string; } export interface Account { http_etag: string; lists_collection_link: string; self_link: string; resource_type_link: string; id: number; integrations_collection_link: string; } export interface List { total_unconfirmed_subscribers: number; total_subscribers_subscribed_yesterday: number; unique_list_id: string; http_etag: string; web_form_split_tests_collection_link: string; subscribers_collection_link: string; total_subscribers_subscribed_today: number; id: number; total_subscribed_subscribers: number; total_unsubscribed_subscribers: number; campaigns_collection_link: string; custom_fields_collection_link: string; self_link: string; total_subscribers: number; resource_type_link: string; web_forms_collection_link: string; name: string; } export interface Subscriber { subscription_url: string | null; postal_code: string | null; id: number; custom_fields: { [key: string]: any; }; last_followup_sent_link: string | null; city: string | null; http_etag?: string; ad_tracking: string; dma_code: string | null; last_followup_message_number_sent: number; last_followup_sent_at: string | null; misc_notes: string; latitude: number; is_verified?: boolean; email: string; status: string; area_code: string | null; unsubscribed_at: string | null; self_link: string; unsubscribe_method: string | null; ip_address: string; name: string | null; subscription_method: string; resource_type_link: string; region: string | null; longitude: number; verified_at: string | null; subscribed_at: string | null; country: string; tags?: Array; } export declare class Aweber { private readonly apiUrl; private readonly apiUrlVersion; private config; private client; private _debug; constructor(config: AweberConfig); debug(dbg: boolean): this; getAccounts(): Promise>; getLists(accountId: number): Promise>; addSubscriber(accountId: number, listId: number, data: any): Promise; findSubscriberByEmail(accountId: number, email: string): Promise; updateSubscriber(accountId: number, listId: number, subscriberId: number, data: any): Promise; deleteSubscriber(accountId: number, listId: number, subscriberId: number): Promise; private makeRequest(method, endpoint, params, url, patched_params?); private getSignature(method, url, params, algo?); private nonce(len); }