import { ComputedRef } from 'vue';
import { AgGridExpose } from '../../../ag-grid';
import { RefreshType } from '../interface';
interface Options {
    onMounted?: () => void;
    onSelectedRows?: (rows?: any[]) => void;
}
export interface GridApi {
    /** 设置 AgGrid 实例 */
    setInstance: (node: any) => void;
    /** 刷新表格 */
    refresh: (type?: RefreshType) => void;
    /** 获取 AgGrid 实例 */
    getInstance: () => AgGridExpose | undefined;
    /** 设置 AgGrid 选中行 */
    setSelectedRowKeys: (keys: (string | number)[]) => void;
    /** 获取 AgGrid 选中行 */
    getSelectedRows: () => any[] | undefined;
    /** 清空所有选中行 */
    clearAllSelected: () => void;
    /** 清除某一行数据 */
    removeSelected: (record: any) => void;
    /** 设置表格数据length */
    setDataSourceLength: (len: number) => void;
}
interface GridApiProvider extends GridApi {
    selectedRows?: ComputedRef<any[]>;
    dataSourceLength?: ComputedRef<number>;
}
export declare function useAgGridInstance(options?: Options): [GridApi, any];
/** 获取上下文中grid的api */
export declare function useAgGridModalInject(): GridApiProvider | undefined;
export {};
