import type { PluginConfig } from "@kuralle-syrinx/core"; import type { AcousticSignalSink, InteractionDecision, InteractionObservation, InteractionPolicy } from "@kuralle-syrinx/core"; import { type VapPredictor, type VapPredictorFrame, type VapProbs, type VapThresholds, type VapTranscriptFusion } from "./vap-policy.js"; export type { VapPredictor, VapPredictorFrame, VapProbs, VapThresholds, VapDecisionContext, VapTranscriptFusion, VapTranscriptObservation, } from "./vap-policy.js"; export { DEFAULT_VAP_THRESHOLDS, ZERO_VAP_PROBS, decideFromProbs, RollingFeatureBuffer, semanticTranscriptFusion, } from "./vap-policy.js"; export { LocalVapPredictor } from "./dualturn-predictor.js"; export declare class StubVapPredictor implements VapPredictor { private scripted; private fallback; script(probs: readonly VapProbs[]): void; setFallback(probs: VapProbs): void; initialize(_cfg?: PluginConfig): Promise; push(_frame: VapPredictorFrame): Promise; reset(_contextId: string): void; close(): Promise; } export interface VapInteractionPolicyDeps { readonly predictor: VapPredictor; readonly thresholds?: VapThresholds; readonly fuseTranscript?: VapTranscriptFusion; } export declare class VapInteractionPolicy implements InteractionPolicy { private readonly predictor; private readonly thresholds; private readonly fuseTranscript?; private readonly cachedProbs; private readonly transcripts; private readonly inferenceChains; private readonly contextEpochs; private ttsActive; private ttsContextId; private delegateInFlight; private initialized; private acousticSignalSink; constructor(deps: VapInteractionPolicyDeps); initialize(cfg?: PluginConfig): Promise; setAcousticSignalSink(sink: AcousticSignalSink): void; observe(obs: InteractionObservation): readonly InteractionDecision[]; reset(contextId: string): void; close(): Promise; private observeAudioFrame; private decisionContext; private enqueueInference; } //# sourceMappingURL=index.d.ts.map