export function beforeAdd(props: any, addedIdx: any): void;
export function getButton(button: any, props?: {}): JSX.Element | undefined;
export function getButtons(buttons?: any[], props?: {}): any[];
export function getButtonElems(buttons?: any[], props?: {}): JSX.Element | null;
export function getButtonsForPosition(props: any, buttonDescriptions: any[] | undefined, position: any, defaultPosition?: string): (JSX.Element | undefined)[] | null;
export function handlesArrayKeys(ComposedComponent: any): {
    new (): {
        [x: string]: any;
        componentDidMount(): void;
        componentDidUpdate(prevProps: any, prevState: any): void;
        componentWillUnmount(): void;
        addKeyHandlers(): void;
        arrayKeyFunctions: any;
        removeKeyHandlers(props: any): void;
        getKeyHandlers(props: any): any[];
        addChildKeyHandlers(props: any): void;
        childKeyHandlers: any;
        removeChildKeyHandlers(): void;
        getChildKeyHandlers(props: any): any;
        onFocus: (target: any) => void;
        onCopy: (options?: {}) => void;
        getCustomEventListeners(): (string | ((target: any) => void))[][];
        addCustomEventListeners(props: any): void;
        customEventListeners: any;
        removeCustomEventListeners(props: any): void;
    };
    [x: string]: any;
    displayName: string;
};
export class ArrayFieldTemplateWithoutKeyHandling extends React.Component<any, any, any> {
    constructor(props: any);
    constructor(props: any, context: any);
    onSort: ({ oldIndex, newIndex }: {
        oldIndex: any;
        newIndex: any;
    }) => void;
    onFocuses: any[];
    getOnFocus: (i: any) => () => void;
    render(): JSX.Element;
    deleteButtonRefs: any[] | undefined;
}
declare const _default: {
    new (): {
        [x: string]: any;
        componentDidMount(): void;
        componentDidUpdate(prevProps: any, prevState: any): void;
        componentWillUnmount(): void;
        addKeyHandlers(): void;
        arrayKeyFunctions: any;
        removeKeyHandlers(props: any): void;
        getKeyHandlers(props: any): any[];
        addChildKeyHandlers(props: any): void;
        childKeyHandlers: any;
        removeChildKeyHandlers(): void;
        getChildKeyHandlers(props: any): any;
        onFocus: (target: any) => void;
        onCopy: (options?: {}) => void;
        getCustomEventListeners(): (string | ((target: any) => void))[][];
        addCustomEventListeners(props: any): void;
        customEventListeners: any;
        removeCustomEventListeners(props: any): void;
    };
    [x: string]: any;
    displayName: string;
};
export default _default;
export namespace arrayKeyFunctions {
    function navigateArray(e: any, { reverse, getProps, navigateCallforward, getCurrentIdx, focusByIdx, getIdToScrollAfterNavigate }: {
        reverse: any;
        getProps: any;
        navigateCallforward: any;
        getCurrentIdx: any;
        focusByIdx: any;
        getIdToScrollAfterNavigate: any;
    }): boolean;
    function insert(e: any, _props: any): boolean;
}
export namespace arrayItemKeyFunctions {
    export function _delete(e: any, { getDeleteButton, id, getProps }: {
        getDeleteButton: any;
        id: any;
        getProps: any;
    }): true | undefined;
    export { _delete as delete };
}
import * as React from "react";
