import { CreateInstanceParams, CreateInstanceResponse, DeleteInstanceAccountParams, DeleteInstanceAccountResponse, PartnerCredentials, PartnerInstance } from "../types"; /** * Client for partner-specific operations with GREEN-API. * Provides methods for managing instances as a GREEN-API partner. * * @example * ```typescript * const partnerClient = new GreenApiPartnerClient({ * partnerToken: "your-partner-token", * partnerApiUrl: "https://api.green-api.com" // Optional, defaults to this URL * }); * * const instances = await partnerClient.getInstances(); * ``` */ export declare class GreenApiPartnerClient { private readonly credentials; private readonly client; private readonly logger; private readonly baseUrl; /** * Creates a new GREEN-API partner client instance. * * @param credentials - Partner credentials containing partnerToken and optional partnerApiUrl */ constructor(credentials: PartnerCredentials); /** * Gets all account instances created by the partner. * Returns both active and deleted instances (deleted instances shown for the last 3 months). * Instance status can be determined by the 'deleted' field in the response. * * @returns Promise resolving to an array of instance objects * * @example * ```typescript * const instances = await partnerClient.getInstances(); * * // Get only active instances * const activeInstances = instances.filter(instance => !instance.deleted); * * console.log(`Total instances: ${instances.length}`); * console.log(`Active instances: ${activeInstances.length}`); * ``` */ getInstances(): Promise; /** * Creates a new messenger account instance as a partner. * After creation, the instance must be authorized by scanning a QR code. * * @param params - Instance creation parameters including name and webhook settings * @returns Promise resolving to the created instance details * * @example * ```typescript * const instance = await partnerClient.createInstance({ * name: "Marketing Campaign", * webhookUrl: "https://example.com/webhooks/green-api", * delaySendMessagesMilliseconds: 3000, * incomingWebhook: "yes", * outgoingWebhook: "yes" * }); * * console.log(`Created instance ID: ${instance.idInstance}`); * console.log(`API Token: ${instance.apiTokenInstance}`); * ``` */ createInstance(params: CreateInstanceParams): Promise; /** * Deletes a messenger account instance created by the partner. * * @param params - Parameters containing the ID of the instance to delete * @returns Promise resolving to deletion status * * @example * ```typescript * const result = await partnerClient.deleteInstanceAccount({ * idInstance: 1101000000 * }); * * if (result.deleteInstanceAccount) { * console.log("Instance successfully deleted"); * } * ``` */ deleteInstanceAccount(params: DeleteInstanceAccountParams): Promise; }