/**
 * 这个是给模型组件用的
 */
import { FieldItem } from '../type';
import { BaseSchemaBuilder } from './SchemaBuilder';
export type FormBuilderBehavior = 'view' | 'create' | 'view-or-create' | 'update' | 'update-or-create' | 'bulk-update';
export interface FormBuildOptions {
    behavior: FormBuilderBehavior;
    isUnderList?: boolean;
    id: string;
    name: string;
    key: string;
    title?: string;
    dsId: string;
    dsKey: string;
    dsName: string;
    schemaFields: Array<{
        enabled: boolean;
        data: any;
        [propName: string]: any;
    }>;
    createFields?: Array<{
        enabled: boolean;
        data: any;
    }>;
    presetConditions?: any;
    notFoundMsg?: string;
    schema?: any;
}
export declare const behaviorMapping: {
    create: string;
    view: string;
    'view-or-create': string;
    'update-or-create': string;
    update: string;
    'bulk-update': string;
};
export declare class FormSchemaBuilder extends BaseSchemaBuilder<FormBuildOptions> {
    static id: string;
    makeDefaultOptions(behavior?: FormBuilderBehavior): Promise<FormBuildOptions>;
    guessOptionsFromSchema(schema: any, behavior?: FormBuilderBehavior): Promise<FormBuildOptions>;
    build(options?: FormBuildOptions, schema?: any): Promise<any>;
    genScaffoldForm(): Promise<any[]>;
    genPanelForm(): Promise<any[]>;
    genFieldPanelForm(options: FormBuildOptions, field: FieldItem, region: string): Promise<any>;
    buildFieldSchema(options: FormBuildOptions, field: FieldItem, fieldOptions: any, region: string): Promise<import("amis-core").Schema | undefined>;
}
