/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import { EditableItemModel, FlowModelContext, ModelRenderMode } from '@nocobase/flow-engine';
import { TableColumnProps } from 'antd';
import React from 'react';
import { SubTableFieldModel } from '.';
import { FieldModel } from '../../../base/FieldModel';
export declare const SUB_TABLE_COLUMN_FIELD_COMPONENT_CONTEXT = "subTableColumn";
export declare function isSubTableColumnFieldComponentContext(ctx: any): boolean;
export declare function FieldWithoutPermissionPlaceholder({ targetModel }: {
    targetModel: any;
}): React.JSX.Element;
export declare function buildRowPathFromFieldIndex(fieldIndex: unknown): Array<string | number> | null;
export declare function getLatestSubTableRowRecord(form: any, fieldIndex: unknown, fallbackRecord: any): any;
export declare function buildSubTableColumnNamePath(fieldPath: Array<string | number>, rowIdx: number, namePath: string | number, rowFieldIndex: unknown): Array<string | number>;
export declare function isSubTableColumnReadPretty(parent: any): boolean;
export declare function isSubTableColumnConfiguredReadPretty(parent: any): boolean;
export declare function getSubTableColumnTitleField(parent: any): any;
export declare function getSubTableColumnReadPrettyFieldProps(parent: any, value: any): Record<string, any>;
export interface SubTableColumnModelStructure {
    parent: SubTableFieldModel;
    subModels: {
        field: FieldModel;
    };
}
export declare class SubTableColumnModel<T extends SubTableColumnModelStructure = SubTableColumnModelStructure> extends EditableItemModel<T> {
    static renderMode: ModelRenderMode;
    static fieldComponentContext: string;
    private getAssociationField;
    private getParentFormValues;
    private createParentItemAccessors;
    private createRowItemContextPropertyOptions;
    renderHiddenInConfig(): React.JSX.Element;
    static defineChildren(ctx: FlowModelContext): any;
    get collection(): any;
    get hasFormulaColumn(): boolean;
    get hasFormValueDrivenDataScopeColumn(): boolean;
    onInit(options: any): void;
    afterAddAsSubModel(): Promise<void>;
    getColumnProps(): TableColumnProps;
    renderItem(): any;
}
