import { WhatsAppClient } from '@kapso/whatsapp-cloud-api'; import type { CurrentProject, Customer, WhatsAppNumber } from '../models/api.js'; import { CliApiClient } from './cli-api.js'; import { ContextStore } from './context-store.js'; import { PlatformApiClient } from './platform-api.js'; import { type ProjectAccess } from './project-access.js'; import { TokenStore } from './token-store.js'; export declare class ProjectContextService { private readonly tokenStore; private readonly contextStore; private readonly cliApi; constructor(tokenStore?: TokenStore, contextStore?: ContextStore, cliApi?: CliApiClient); clearCurrentProject(): void; getCurrentProject(): CurrentProject | null; getWhatsAppNumber(projectAccess: ProjectAccess, phoneNumberId: string): Promise; inferCustomerId(projectAccess: ProjectAccess, explicitCustomerId?: string): Promise; listAllWhatsAppNumbers(projectAccess: ProjectAccess): Promise; requireProjectId(explicitProjectId?: string): Promise; resolveBusinessAccountId(projectAccess: ProjectAccess, phoneNumberId: string): Promise; resolveCustomerSelection(projectAccess: ProjectAccess, explicitCustomerId?: string): Promise<{ customer: Customer; kind: 'selected'; source: 'explicit' | 'only'; } | { customers: Customer[]; kind: 'multiple'; } | { customers: Customer[]; kind: 'none'; }>; resolvePhoneNumberId(projectAccess: ProjectAccess, options: { conversationId?: string; phoneNumber?: string; phoneNumberId?: string; }): Promise; setCurrentProject(projectId: string): Promise; withPlatformClient(projectAccess: ProjectAccess, callback: (client: PlatformApiClient) => Promise): Promise; withWhatsAppClient(projectAccess: ProjectAccess, callback: (client: WhatsAppClient) => Promise): Promise; private ensureProjectApiKey; private fetchWhatsAppNumber; private findWhatsAppNumbersByDisplayNumber; private refreshProjectApiKey; private resolveAmbiguousPhoneNumberReference; private resolvePhoneNumberIdByDisplayNumber; private withRetry; }