import { Harness } from "@stigmer/protos/ai/stigmer/agentic/session/v1/enum_pb";
/**
 * String literal alias for the proto {@link Harness} enum.
 *
 * Used on component props and hook options so platform builders
 * do not need to import proto enums to use the SDK.
 *
 * This union grows as new execution engines are integrated.
 * Each value must have a corresponding entry in {@link HARNESS_META}.
 */
export type HarnessOption = "native" | "cursor" | "copilot" | "claude_code" | "codex" | "devin";
/** Display metadata for a single harness. */
export interface HarnessDisplayInfo {
    /** User-facing label shown in the harness dropdown. */
    readonly label: string;
    /** One-line description shown as a tooltip or subtitle. */
    readonly description: string;
}
/**
 * Display metadata for all registered harnesses.
 *
 * Drives the harness dropdown in {@link ModelSelector} and provides
 * labels for the compact trigger button.
 */
export declare const HARNESS_META: Readonly<Record<HarnessOption, HarnessDisplayInfo>>;
/**
 * User-facing labels for each harness option.
 *
 * @deprecated Use {@link HARNESS_META} instead for full display metadata.
 * Kept for backward compatibility with existing consumers.
 */
export declare const HARNESS_LABELS: Readonly<Record<HarnessOption, string>>;
/** Ordered list of all registered harness IDs. */
export declare const HARNESS_OPTIONS: readonly HarnessOption[];
/** Platform default — resolves to the native engine. */
export declare const DEFAULT_HARNESS: HarnessOption;
/** Convert a {@link HarnessOption} string to the proto {@link Harness} enum. */
export declare function toProtoHarness(h: HarnessOption): Harness;
/**
 * Convert a proto {@link Harness} enum to a {@link HarnessOption} string.
 *
 * `UNSPECIFIED` and any unknown values map to `"native"`.
 */
export declare function fromProtoHarness(h: Harness): HarnessOption;
//# sourceMappingURL=harness.d.ts.map