import { ConfigService } from '@nestjs/config';
import { CreateMetaCredentialDto } from './dto/createmetacreds';
import { ModelService } from "../model/model.service";
import { WhatsAppTokenManagerService } from './whatsapptoken.service';
import { InstagramTokenManagerService } from './instagram-token-manager.service';
import { Types } from 'mongoose';
export declare class WhatsappService {
    private readonly configService;
    private readonly modelService;
    private readonly tokenManager;
    private readonly instagramTokenManager;
    private readonly logger;
    private readonly baseUrl;
    private readonly metaAppId;
    private readonly metaAppSecret;
    private readonly instagramRedirectUri;
    private readonly metaRedirectUri;
    private readonly instagramClientId;
    private readonly instagramClientSecret;
    constructor(configService: ConfigService, modelService: ModelService, tokenManager: WhatsAppTokenManagerService, instagramTokenManager: InstagramTokenManagerService);
    create(dto: CreateMetaCredentialDto): Promise<import("mongoose").Document<unknown, {}, import("src/model/schemas/meta.schema").MetaCredential, {}, {}> & import("src/model/schemas/meta.schema").MetaCredential & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    sendTextMessage(to: string, message: string, phoneNumberId: string, salonId: string): Promise<any>;
    sendInstagramMessage(salonId: string, senderId: string, message: string): Promise<void>;
    connect(dto: any): Promise<string>;
    connectInstagram(code: string, salonId: string): Promise<null | undefined>;
    stopInstagramEvents(salonId: string): Promise<boolean>;
    private markInactive;
    stopWhatsAppEvents(salonId: string): Promise<boolean>;
    private markWhatsAppInactive;
    getConnectionStatus(salonId: string): Promise<{
        connected: boolean;
        status: string;
        phone?: undefined;
        profile?: undefined;
        message?: undefined;
    } | {
        connected: boolean;
        status: string;
        phone: string;
        profile: string;
        message?: undefined;
    } | {
        connected: boolean;
        status: string;
        message: string;
        phone?: undefined;
        profile?: undefined;
    }>;
    getInstagramConnectionStatus(salonId: string): Promise<{
        connected: boolean;
        status: string;
        instagramUserId?: undefined;
        profile?: undefined;
        message?: undefined;
    } | {
        connected: boolean;
        status: string;
        instagramUserId: string;
        profile: import("../model/schemas/instagram-connection.schema").InstagramProfile | undefined;
        message: string;
    } | {
        connected: boolean;
        status: string;
        message: string;
        instagramUserId?: undefined;
        profile?: undefined;
    }>;
    getClientAndSalonInstagramId(senderId: string, instagramId: string): Promise<{
        clientNameUnknown: boolean;
        clientId: string;
        salonId: string;
    }>;
}
