import { SmrtClassOptions } from '@happyvertical/smrt-core'; import { DevelopmentRequestCollection } from '../collections/DevelopmentRequests.js'; import { ProjectIntegrationCollection } from '../collections/ProjectIntegrations.js'; import { AssistanceRequest, AssistanceRequestCollection, AssistanceRequestEventCollection } from '../models/delivery-control-plane.js'; import { ProjectIntegration } from '../models/ProjectIntegration.js'; import { AssistanceClassification, DevelopmentRequestEvidence, ManagedAssistanceRequestInput } from '../types.js'; export interface AssistanceSupportPort { openOrJoin(input: { assistanceRequestId: string; tenantId: string; projectId: string; requesterId: string; subject: string; conversation: Record[]; evidence: DevelopmentRequestEvidence[]; applicationContext: Record; }): Promise<{ caseId: string; }>; /** Implementations must treat this handoff as idempotent. */ linkDelivery?(input: { tenantId: string; caseId: string; developmentRequestId: string; }): Promise; } export declare class AssistanceRequestService { private readonly integrations; private readonly development; private readonly requests; private readonly events; private readonly support?; constructor(integrations: ProjectIntegrationCollection, development: DevelopmentRequestCollection, requests: AssistanceRequestCollection, events: AssistanceRequestEventCollection, support?: AssistanceSupportPort | undefined); static create(options?: SmrtClassOptions, dependencies?: { support?: AssistanceSupportPort; }): Promise; createRequest(integration: ProjectIntegration, input: ManagedAssistanceRequestInput): Promise; classify(integration: ProjectIntegration, request: AssistanceRequest, input: { classification: Exclude; actorRef: string; reason: string; developmentType?: string; }): Promise; } //# sourceMappingURL=assistance-request-service.d.ts.map