/** Validates international syntax and the fixed-length North American numbering plan. */ export declare function validatePhotonPhoneNumber(value: string): string | null; export interface PhotonManagedProject { projectId: string; projectSecret: string; assignedPhoneNumber?: string; /** Deletes the dedicated project when a later setup phase fails. */ cleanup(): Promise; } interface PhotonDeviceAuthorization { userCode: string; verificationUrl: string; } interface ProvisionPhotonProjectOptions { projectName: string; phoneNumber: string; onAuthorization(authorization: PhotonDeviceAuthorization): void; signal?: AbortSignal; deps?: PhotonManagementDeps; } interface UsePhotonProjectOptions { projectId: string; projectSecret: string; dedicatedLine?: string; phoneNumber?: string; deps?: PhotonManagementDeps; } interface PhotonManagementDeps { fetch: typeof fetch; delay(ms: number, signal?: AbortSignal): Promise; } /** Returns the least-loaded dedicated iMessage line, when the project has one. */ export declare function findDedicatedPhotonLine(input: { projectId: string; projectSecret: string; deps?: Pick; }): Promise; /** Authorizes Photon and creates an isolated iMessage project for one eve agent. */ export declare function provisionPhotonProject(options: ProvisionPhotonProjectOptions): Promise; /** Validates existing Photon credentials and registers the agent's iMessage user. */ export declare function usePhotonProject(options: UsePhotonProjectOptions): Promise; export {};