import { type InjectionKey } from 'vue';
import type { CrudColumn, CrudContext, CrudImportOptions, CrudOptions, CrudSearchOptions, CrudTableOptions, CrudUpsertOptions } from '../../../typings/admin/comm/crud';
export declare const CRUD_KEY: InjectionKey<CrudContext>;
export declare const CRUD_OPTIONS_KEY: InjectionKey<CrudOptions>;
export declare const TABLE_OPTIONS_KEY: InjectionKey<CrudTableOptions>;
export declare const UPSERT_OPTIONS_KEY: InjectionKey<CrudUpsertOptions>;
export declare const SEARCH_OPTIONS_KEY: InjectionKey<CrudSearchOptions>;
export declare const IMPORT_OPTIONS_KEY: InjectionKey<CrudImportOptions>;
/** Table 实例 API（ColumnCustom / showColumn 等） */
export type TableApi = {
    setColumns: (cols: CrudColumn[]) => void;
    showColumn: (prop: string) => void;
    hideColumn: (prop: string) => void;
    getColumns: () => CrudColumn[];
};
export declare const TABLE_API_KEY: InjectionKey<TableApi>;
/** inject(KEY, undefined) 在严格模式下会推断为 never，统一走 helper */
export declare function injectCrudOptions(): CrudOptions | undefined;
export declare function injectTableOptions(): CrudTableOptions | undefined;
export declare function injectUpsertOptions(): CrudUpsertOptions | undefined;
export declare function injectSearchOptions(): CrudSearchOptions | undefined;
export declare function injectImportOptions(): CrudImportOptions | undefined;
