/**
 * 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 { Field } from '@formily/core';
import React from 'react';
import { APIClient } from '../api-client';
/**
 * @internal
 */
export declare const TableFieldContext: React.Context<any>;
export declare class TableFieldResource {
    field: Field;
    api: APIClient;
    sourceId: any;
    resource?: any;
    constructor(options: any);
    list(options: any): Promise<{
        data: {
            data: any;
        };
    }>;
    get(options: any): Promise<{
        data: {
            data: any;
        };
    }>;
    create(options: any): Promise<void>;
    update(options: any): Promise<void>;
    destroy(options: any): Promise<void>;
}
/**
 * @internal
 */
export declare const WithoutTableFieldResource: React.Context<any>;
/**
 * @internal
 */
export declare const TableFieldProvider: (props: any) => React.JSX.Element;
/**
 * @internal
 */
export declare const useTableFieldContext: () => any;
/**
 * @internal
 */
export declare const useTableFieldProps: () => {
    size: string;
    loading: any;
    showIndex: any;
    dragSort: any;
    pagination: boolean;
    required: any;
    rowKey: (record: any) => number;
    onRowSelectionChange(selectedRowKeys: any, selectedRowData: any): void;
    onChange({ current, pageSize }: {
        current: any;
        pageSize: any;
    }): void;
};
