import { useGlobalSize } from "element-plus"; import type { TableInstance } from "element-plus"; import type { ExtractPropTypes, InjectionKey, SetupContext, ShallowRef } from "vue"; import type { makeSlots } from "../../../utils"; import type { PagedInput } from "./page.type"; import type { FaTableSlots, faTableEmits, faTableProps } from "./table"; import type { DefaultRow, FaTableState } from "./table.state"; import type { FaTableColumnCtx, FaTableEnumColumnCtx } from "./table.type"; /** FaTable 状态的依赖注入键。 */ export declare const tableStateKey: InjectionKey; /** FaTable 枚举映射的依赖注入键。 */ export declare const enumMapKey: InjectionKey>; type TableSetupContext = SetupContext>>; interface TableComposable { globalSize: ReturnType; state: FaTableState; elementRef: Readonly>; tableRef: Readonly>; handleTableColumnAutoWidth: () => void; getRequestParam: () => PagedInput; loadTableColumns: () => void; handleSizeChange: (pageSize: number) => void; handlePaginationChange: (value: number) => void; defaultSearchTime: () => void; tableSearch: () => Promise; tableReset: () => Promise; doRender: () => Promise; setManualLoading: (loading: boolean) => void; doLoading: (loadingFunction: () => void | Promise, loadingText?: string) => Promise; handleCustomCellClick: (emitName: string, context: { row: DefaultRow; column: FaTableColumnCtx; $index: number; }) => void; } /** * 创建 FaTable 的状态和操作方法。 * * @param props - FaTable 的 Props。 * @param slots - FaTable 的插槽。 * @param emit - FaTable 的事件触发器。 * @returns FaTable 的状态、引用和操作方法。 */ export declare const useTable: (props: ExtractPropTypes, slots: TableSetupContext["slots"], emit: TableSetupContext["emit"]) => TableComposable; export {};