/** Props for {@link RunnerPicker}. */
export interface RunnerPickerProps {
    /** Organization slug to scope the runner list. */
    readonly org: string;
    /**
     * Currently selected runner ID, or `null` for "Auto".
     *
     * `null` means the backend decides which runner to use — session
     * auto-bind in OSS, cloud auto-provisioning in Cloud.
     */
    readonly value: string | null;
    /** Called when the user picks a different runner. `null` = "Auto". */
    readonly onChange: (runnerId: string | null) => void;
    /**
     * Show the "Auto" option as the first item in the dropdown.
     * @default true
     */
    readonly showAutoOption?: boolean;
    /** Additional CSS class names for the trigger button. */
    readonly className?: string;
    /** When true, disables the selector. */
    readonly disabled?: boolean;
}
/**
 * Theme-able runner picker built on `@base-ui/react` Select.
 *
 * Fetches available runners via {@link useRunnerList} and renders
 * them in a dropdown grouped by operational phase. READY runners
 * appear first, then BUSY (selectable), then inactive runners
 * (STOPPED/PENDING/FAILED — visible but disabled).
 *
 * Includes an "Auto" option (default) that lets the backend decide
 * which runner to use. Platform builders who manage runner assignment
 * programmatically can disable this via `showAutoOption={false}`.
 *
 * All visual properties flow through `--stgm-*` tokens — no
 * hardcoded colors or sizes.
 *
 * Platform builders who need different rendering use
 * {@link useRunnerList} directly.
 *
 * @example
 * ```tsx
 * const [runnerId, setRunnerId] = useState<string | null>(null);
 *
 * <RunnerPicker
 *   org="acme"
 *   value={runnerId}
 *   onChange={setRunnerId}
 * />
 * ```
 */
export declare function RunnerPicker({ org, value, onChange, showAutoOption, className, disabled, }: RunnerPickerProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=RunnerPicker.d.ts.map