import type React from 'react'; import type { UseFormReturn } from 'react-hook-form'; import type { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js'; import type { ModelConfigInput, TransformerConfig } from '#src/schema/index.js'; export interface ModelTransformerWebFormFieldsProps { formProps: UseFormReturn; name: string; originalModel: ModelConfigInput; pluginKey: string | undefined; } export interface ModelTransformerWebFullFormProps { transformer?: TransformerConfig; onUpdate: (transformer: TransformerConfig) => void; isCreate: boolean; originalModel: ModelConfigInput; pluginKey: string | undefined; } export interface ModelTransformerWebConfig { name: string; pluginKey: string | undefined; label: string; description: string; instructions?: string; /** * Full form component that owns the entire form element, submit logic, and footer. * Mutually exclusive with `FormFields`. */ Form?: React.ComponentType; /** * Form fields component that provides only the fields. * The framework wraps it in a `
` element with dialog footer. * Mutually exclusive with `Form`. */ FormFields?: React.ComponentType; allowNewTransformer?: (projectContainer: ProjectDefinitionContainer, modelConfig: ModelConfigInput) => boolean; getNewTransformer: (projectContainer: ProjectDefinitionContainer, modelConfig: ModelConfigInput) => T; getSummary: (definition: T, definitionContainer: ProjectDefinitionContainer) => { label: string; description: string; }[]; } export declare function createModelTransformerWebConfig(config: ModelTransformerWebConfig): ModelTransformerWebConfig; /** * Spec for adding web config for transformers */ export declare const modelTransformerWebSpec: import("../../index.js").PluginSpec<{ transformers: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer>; }, { getWebConfigOrThrow(name: string): ModelTransformerWebConfig; getWebConfigs: () => ModelTransformerWebConfig[]; }>; //# sourceMappingURL=model-transformer-web-spec.d.ts.map