import type { TraceEvent } from '../core/types.js';
import { type CyberLoopCompatibleMiddleware, type CyberLoopObserver, type CyberLoopObserverAnnotation, type HeddleRuntimeFrame } from './cyberloop.js';
export type CyberLoopKinematicsObserver = {
    observer: CyberLoopObserver;
    annotations: TraceEvent[];
};
export type CreateCyberLoopKinematicsObserverOptions = {
    goal: string;
    referenceText?: string;
    apiKey?: string;
    embeddingModel?: string;
    stabilityThreshold?: number;
    moduleSpecifier?: string;
    onAnnotation?: (annotation: CyberLoopObserverAnnotation) => void;
    onError?: (error: unknown) => void;
    _testOverrides?: {
        advancedModule?: CyberLoopAdvancedModule;
        embedText?: (text: string) => Promise<number[]>;
    };
};
type CyberLoopAdvancedModule = {
    kinematicsMiddleware: (options: {
        embedder: {
            embed: (state: HeddleRuntimeFrame) => Promise<number[]>;
        };
        goalEmbedding: number[];
        pid?: {
            Kp?: number;
            Ki?: number;
            Kd?: number;
            stabilityThreshold?: number;
        };
        physics?: {
            processNoise?: number;
            measureNoise?: number;
        };
    }) => CyberLoopCompatibleMiddleware<HeddleRuntimeFrame>;
};
export declare function createCyberLoopKinematicsObserver(options: CreateCyberLoopKinematicsObserverOptions): Promise<CyberLoopKinematicsObserver>;
export {};
//# sourceMappingURL=cyberloop-kinematics.d.ts.map