import { type Ref } from 'vue';
import { CRUD_KEY } from './key';
import type { CrudContext, CrudImportOptions, CrudOptions, CrudSearchOptions, CrudTableOptions, CrudUpsertOptions, TablePlugin } from '../../../typings/admin/comm/crud';
/**
 * useCrud：
 * - useCrud(options, cb) provide 配置；模板 ref="Crud" 拿到实例后 cb
 * - useCrud() 在子组件 inject
 */
export declare function useCrud(): CrudContext;
export declare function useCrud(options: CrudOptions, cb?: (app: CrudContext) => void): Ref<CrudContext | undefined>;
export declare function useTable(options?: CrudTableOptions & {
    plugins?: TablePlugin[];
}, cb?: (table: unknown) => void): Ref<any, any>;
export declare function useUpsert(options?: CrudUpsertOptions): Ref<any, any>;
export declare function useSearch(options?: CrudSearchOptions): Ref<any, any>;
/** 向 vm-import-btn 注入导入钩子（含 toolbar 内置按钮） */
export declare function useImport(options?: CrudImportOptions): void;
export declare function useCore(): {
    crud: CrudContext;
};
export { CRUD_KEY };
