/** * The pieces of `ExtensionComboBuilder`: the committed-combo list * (`CommittedComboList`), the under-construction combo editor (`ComboDraftEditor`), * and the shared combo helpers. The builder owns the state and composes these. */ import type { Extension, PresetExtensionElement } from '@tai42/api-client'; import { type ReactNode } from 'react'; import { type SchemaEditorChange } from '../schema-editor'; /** The one config-taking extension this builder authors inline. */ export declare const OUTPUT_SCHEMA = "output_schema"; /** Two combos are equal when their NAME sequences match (config is not part of identity). */ export declare function sameNames(a: readonly string[], b: readonly string[]): boolean; /** The stored `output_schema` config schema for a combo, if it carries one. */ export declare function outputSchemaConfig(combo: readonly PresetExtensionElement[]): Record | null; /** The element names in a combo that are absent from the known catalog. */ export declare function unknownNames(combo: readonly PresetExtensionElement[], availableNames: ReadonlySet): string[]; /** The current combos, each a row of name badges with per-combo Edit and Remove. */ export declare function CommittedComboList({ value, availableReady, availableNames, editing, disabled, onEdit, onRemove, }: { readonly value: readonly PresetExtensionElement[][]; readonly availableReady: boolean; readonly availableNames: ReadonlySet; readonly editing: number | null; readonly disabled: boolean | undefined; readonly onEdit: (index: number) => void; readonly onRemove: (index: number) => void; }): ReactNode; /** The combo under construction: the extension picker, the inline output-schema * editor when present, the duplicate note, and the Add/Update + Cancel actions. */ export declare function ComboDraftEditor({ available, draft, onDraftChange, draftHasOutputSchema, draftConfig, onDraftConfigChange, isDuplicate, canAdd, editing, disabled, idPrefix, onCommit, onReset, }: { readonly available: readonly Extension[]; readonly draft: string[]; readonly onDraftChange: (draft: string[]) => void; readonly draftHasOutputSchema: boolean; readonly draftConfig: SchemaEditorChange; readonly onDraftConfigChange: (change: SchemaEditorChange) => void; readonly isDuplicate: boolean; readonly canAdd: boolean; readonly editing: number | null; readonly disabled: boolean | undefined; readonly idPrefix: string; readonly onCommit: () => void; readonly onReset: () => void; }): ReactNode; //# sourceMappingURL=extension-combo-parts.d.ts.map