import { Wtbl } from '../../../document';
import { Region, RegionOptions } from '../../base/Region';
import { RegionJson } from '../../../types';
import { BoundedItemRegion, BoundedItemRegionOptions } from './BoundedItemRegion';
export type BoundedWidgetPropsMeta = {
    /** 引用填充（撑满固定表）*/
    autoFill: boolean;
    /**
     * 填充方向
     * @alias x 横向填充
     * @alias y 纵向填充
     */
    fillDirection: 'x' | 'y';
    [key: string]: any;
};
export type BoundedWidgetMeta = {
    props: BoundedWidgetPropsMeta;
};
export type BoundedRegionOptions = RegionOptions & {
    name: string;
    valuePath: string;
    widgetMeta: BoundedWidgetMeta;
    itemRegion?: BoundedItemRegion;
};
export type BoundedRegionJson = RegionJson & {
    name: string;
    valuePath: string;
    widgetMeta: BoundedWidgetMeta;
    itemRegion?: any;
};
export declare class BoundedRegion extends Region {
    type: "bounded";
    name: string;
    valuePath: string;
    widgetMeta: BoundedWidgetMeta;
    itemRegion?: BoundedItemRegion;
    constructor(options: BoundedRegionOptions);
    get subFieldKey(): string;
    get linkFieldKey(): string;
    get subValuePath(): string;
    get linkValuePath(): string;
    toJSON(): BoundedRegionJson;
    static fromJSON(json: BoundedRegionJson, table: Wtbl): BoundedRegion;
    setItemRegion(options: Omit<BoundedItemRegionOptions, 'table'>): BoundedItemRegion;
    removeItemRegion(): void;
}
