import { DslDefinition, ViewDslDefinition } from '@oinone/kunlun-dsl';
import { ActiveRecords, RuntimeModel, RuntimeRelationField } from '@oinone/kunlun-engine';
import { ExpressionRunParam } from '@oinone/kunlun-expression';
import { ViewType } from '@oinone/kunlun-meta';
import { CallChaining } from '@oinone/kunlun-shared';
import { RenderCellContext, RowContext } from '@oinone/kunlun-vue-ui';
import { VNode } from 'vue';
import { BaseTableColumnWidget } from '../../basic';
export interface ExpandColumnLoadedData {
    dataSource?: ActiveRecords | null;
    activeRecords?: ActiveRecords;
}
export declare const ExpandColumnWidgetNames: string[];
export declare class TableExpandColumnWidget extends BaseTableColumnWidget {
    protected defaultAllInvisible: boolean;
    protected mountedCallChainingMap: Map<string, CallChaining<unknown>>;
    protected refreshCallChainingMap: Map<string, CallChaining<unknown>>;
    /**
     * 重置挂载钩子
     * @protected
     */
    protected mountedCallChaining: CallChaining | undefined;
    /**
     * 重置刷新时钩子
     * @protected
     */
    protected refreshCallChaining: CallChaining | undefined;
    /**
     * 重置数据源
     * @protected
     */
    get dataSource(): undefined;
    protected parentRefreshCallChaining: CallChaining | undefined;
    protected expandContext: Record<string, unknown> | undefined;
    initialize(props: any): this;
    private expandDslDefinition;
    getExpandDslDefinition(context?: RowContext): DslDefinition | undefined;
    setExpandDslDefinition(expandDslDefinition: DslDefinition | undefined): void;
    private expandModel;
    getExpandModel(): RuntimeModel;
    setExpandModel(expandModel: RuntimeModel | undefined): void;
    private expandField;
    getExpandField(): RuntimeRelationField | undefined;
    setExpandField(expandField: RuntimeRelationField | undefined): void;
    private expandOperationField;
    get columnType(): string;
    get width(): string | number;
    get minWidth(): string | number;
    get align(): string;
    get fixed(): string | boolean;
    className(context: RenderCellContext): string | string[] | undefined;
    get invisible(): boolean;
    get resizable(): boolean | undefined;
    protected generatorExpandDslDefinition(expandViewDslNode: ViewDslDefinition): void;
    protected generatorLayout(viewType: ViewType): DslDefinition | undefined;
    protected $$mounted(): void;
    protected getFilter(context: RowContext): string | undefined;
    protected getContext(context: RowContext): Record<string, unknown> | undefined;
    executeExpressionByParameters<T>(parameters: Partial<ExpressionRunParam>, expression: string, errorValue?: T): T | string | undefined;
    protected loadData(context: RowContext): ExpandColumnLoadedData;
    renderContentSlot(context: RowContext): VNode[] | string;
    protected createOrGetterCallChaining(map: Map<string, CallChaining>, key: string): CallChaining;
}
