import { ICnFormArrayBaseContext } from '../types';
import { ArrayBaseIndex } from '../view/array-base-index';
import { Addition } from '../view/addition';
import { Copy } from '../view/copy';
import { MoveDown } from '../view/move-down';
import { MoveUp } from '../view/move-up';
import { Remove } from '../view/remove';
import { SortHandle } from '../view/sort-handle';
import { CnFormArrayBaseItem } from '../view/array-base-item';
interface ArrayBaseMixins {
    Addition: typeof Addition;
    Index: typeof ArrayBaseIndex;
    Item: typeof CnFormArrayBaseItem;
    Copy: typeof Copy;
    MoveDown: typeof MoveDown;
    MoveUp: typeof MoveUp;
    Remove: typeof Remove;
    SortHandle: typeof SortHandle;
    useArray: () => ICnFormArrayBaseContext;
    useIndex: (index?: number) => number;
    useRecord: (record?: number) => any;
}
export declare function mixinCnFormArrayBase<T>(_TargetComponent: T): T & ArrayBaseMixins;
export {};
