import { YpSubscriptionPlan } from "../models/subscriptionPlan.js"; import { YpSubscription } from "../models/subscription.js"; import { YpAgentProduct } from "../models/agentProduct.js"; import { YpAgentProductRun } from "../models/agentProductRun.js"; import WebSocket from "ws"; export declare class SubscriptionManager { constructor(); getPlans(): Promise; cloneCommunityTemplate(communityTemplateId: number, toDomainId: number): Promise; cloneCommunityWorkflowTemplate(agentProduct: YpAgentProduct, domainId: number, currentUser: UserClass): Promise<{ workflow: YpAgentRunWorkflowConfiguration; requiredQuestions?: any[]; }>; createSubscriptions(userId: number, planIds: number[], paymentMethodId: string | null): Promise<{ clientSecret?: string; subscriptionId?: string; freeSubscription?: boolean; }>; handleSuccessfulPayment(paymentIntentId: string): Promise; startAgentRun(subscriptionId: number, wsClients: Map, wsClientId: string, currentUser: UserClass): Promise<{ agentRun: YpAgentProductRun; subscription: YpSubscription; }>; startFirstAgent(agentProductRun: YpAgentProductRun, wsClients: Map, wsClientId: string): Promise; stopAgentRun(agentProductRunId: number): Promise; private calculateNextBillingDate; private incrementRunsUsed; private checkRunsLimit; }