/** * Robot profile helpers for the CLI. * * Mirrors `@agenticros/core` `robot-profile.ts` without importing core * (the published `agenticros` tarball must stay transport-free). Keep * the vocabulary in lockstep with packages/core/src/robot-profile.ts. */ export declare const PROFILE_SCHEMA_ID = "agenticros.profile.v1"; export declare const FEATURE_VOCABULARY: readonly ["base", "arm", "gripper", "camera", "depth", "lidar", "imu", "dock", "display", "audio", "battery", "estop"]; export declare const BINDING_KEYS: readonly ["cmd_vel", "odom", "camera.rgb", "camera.depth", "lidar", "joint_states", "navigate_to_pose", "dock", "battery"]; export declare const FEATURE_REQUIRED_BINDING: Record; export interface RobotProfile { schema: string; features: string[]; bindings: Record; } export declare function isKnownFeature(name: string): boolean; export declare function isKnownBindingKey(key: string): boolean; export declare function unknownFeatures(features: readonly string[]): string[]; export declare function unknownBindingKeys(bindings: Record): string[]; export declare function featuresMissingBindings(profile: RobotProfile): string[]; export declare function parseFeaturesCsv(raw: string | undefined): string[] | undefined; /** * Parse `--binding key=/topic` pairs. Throws on unknown keys or missing `=`. */ export declare function parseBindingPairs(pairs: string[] | undefined): Record | undefined; export declare function inferProfileDraft(input: { namespace?: string; cameraTopic?: string; kind?: string; sensors?: { has_realsense?: boolean; has_lidar?: boolean; has_arm?: boolean; }; cmdVelTopic?: string; }): RobotProfile; export declare function parseProfileObject(raw: unknown): RobotProfile | undefined; //# sourceMappingURL=robot-profile.d.ts.map