import { default as React } from 'react';
import { FormDataObject, SchemaArray } from 'zod-schema-form';
import { ModelProviderId, StoredModel } from '../contexts/ModelContext';
export interface ProviderViewField {
    label: string;
    render: (model: StoredModel) => React.ReactNode;
}
export interface ProviderFormDefinition {
    schema: SchemaArray;
    getInitialValues: (model: StoredModel) => FormDataObject;
    transformSubmit: (values: FormDataObject, model: StoredModel) => Partial<StoredModel>;
    submitButtonText?: string;
    size?: 'small' | 'medium' | 'large';
}
export interface ModelProviderDefinition {
    id: ModelProviderId;
    displayName: string;
    badgeClassName?: string;
    viewFields: ProviderViewField[];
    form: ProviderFormDefinition;
}
export declare const MODEL_PROVIDER_DEFINITIONS: Record<ModelProviderId, ModelProviderDefinition>;
export declare const getProviderDefinition: (providerId: ModelProviderId) => ModelProviderDefinition | undefined;
export declare const getProviderDisplayName: (providerId: ModelProviderId) => string;
//# sourceMappingURL=modelProviders.d.ts.map