import { GridApi as AgGridApi } from 'ag-grid-community';
import { ComputedRef, Ref } 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;
    /** 获取表格高度 */
    onAgGridUpdate(api: AgGridApi<any> | undefined): void;
}
interface GridApiProvider extends GridApi {
    selectedRows?: ComputedRef<any[]>;
    agGridBodyHeight?: Readonly<Ref<number>>;
}
export declare function useAgGridInstance(options?: Options): [GridApi, any];
/** 获取上下文中grid的api */
export declare function useAgGridModalInject(): GridApiProvider | undefined;
export {};
