import { Ref, VNode, WritableComputedRef, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue'; import { ApiType } from '../common/api'; import { ColumnConfig, BaseConfig, ColumnRenderer, ViewConfig, ViewGroupOptions, ViewGroup } from '../common/types'; import { Locale } from '../locale/types'; import { SortOrderType } from '../common/constants'; import { UsePaginationReturn } from '../hooks/usePagination'; import { EditOptions } from './useRecordActions'; import { TagAction } from '../components/hooks/useTag'; import { Translator } from '../hooks/useLocale'; import { EventCallback } from './useEvent'; type useVteOptions = { type?: string; source?: Partial; token?: string; siteId?: string; endpoint?: string; lang?: Locale; columnRenderers?: Record; }; export declare const useVte: (props?: useVteOptions) => { apis: { listViews: (viewKey: string) => Promise>; queryView: (viewKey: string, viewId: number) => Promise< ViewConfig>; createView: (data: Partial< ViewConfig>) => Promise; saveView: (data: Partial< ViewConfig>) => Promise; removeView: (viewId: number) => Promise; queryViewMeta: (viewKey: string) => Promise< ViewConfig>; queryViewGroup: (options: ViewGroupOptions) => Promise>; queryFieldOptions: (viewKey: string, viewId: number, fieldName: string) => Promise>; listUserViews: (viewKey: string) => Promise< ViewConfig[]>; saveUserView: (options: { view_key: string; view_id: number; column_list?: Array>; }) => Promise; queryUserView: (viewKey: string) => Promise< ViewConfig>; listRecords: (options: { view_id: number; pagination: { page: number; size: number; }; sort: Array<[string, SortOrderType]>; filters: Record; }) => Promise<{ data: any[]; total: number; }>; queryRecord: (id: string) => Promise; createRecord: (data: Record, view_id?: number) => Promise; saveRecord: (data: Record, view_id?: number) => Promise; removeRecord: (id: string) => Promise; } & Partial<{ listViews: (viewKey: string) => Promise>; queryView: (viewKey: string, viewId: number) => Promise< ViewConfig>; createView: (data: Partial< ViewConfig>) => Promise; saveView: (data: Partial< ViewConfig>) => Promise; removeView: (viewId: number) => Promise; queryViewMeta: (viewKey: string) => Promise< ViewConfig>; queryViewGroup: (options: ViewGroupOptions) => Promise>; queryFieldOptions: (viewKey: string, viewId: number, fieldName: string) => Promise>; listUserViews: (viewKey: string) => Promise< ViewConfig[]>; saveUserView: (options: { view_key: string; view_id: number; column_list?: Array>; }) => Promise; queryUserView: (viewKey: string) => Promise< ViewConfig>; listRecords: (options: { view_id: number; pagination: { page: number; size: number; }; sort: Array<[string, SortOrderType]>; filters: Record; }) => Promise<{ data: any[]; total: number; }>; queryRecord: (id: string) => Promise; createRecord: (data: Record, view_id?: number) => Promise; saveRecord: (data: Record, view_id?: number) => Promise; removeRecord: (id: string) => Promise; }>; table: UsePaginationReturn; actions: { view: { edit: (view: ViewConfig, cb?: () => void) => void; copy: (view: ViewConfig, cb?: () => void) => void; remove: (view: ViewConfig, cb?: () => void) => void; create: (cb?: () => void) => void; list: () => void; }; record: { edit: (id: number | undefined, options?: EditOptions) => any; view: (id: number, options?: Pick< EditOptions, "title">) => any; create: (options?: Pick< EditOptions, "title" | "autoClose" | "defaultValues" | "defaultRules" | "onBeforeSave" | "onAfterSave">) => any; open: (options: { title: string; modalClass?: string; bodyClass?: string; style?: string; content: string | VNode | (() => VNode); } & Parameters[0]) => void; }; table: UsePaginationReturn; tag: TagAction; }; views: Ref< ViewConfig[], ViewConfig[]>; loading: Ref; inited: Ref; type: Readonly>; setType: (val: string) => void; baseConfig: Readonly; currentViewId: Ref; columnRenderers: Record; columns: readonly any[]; searchParams: {}; maxFixedColsCount: number; reload: () => void; setView: (id: number, fallback?: boolean) => void; bindConfig: (key: keyof BaseConfig) => WritableComputedRef; bindColumns: (cb?: () => any) => Ref; setSearchParams: (val: Record) => Record; setBaseConfig: (val: Partial, silent?: boolean) => void; addColumnRenderer: (name: string, renderer: ColumnRenderer) => ColumnRenderer; t: Translator; render: (options: { content: (fn?: () => any) => VNode; appendTo?: string; visibleKey?: string; }) => () => void; ContextHolder: DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element[], {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; onViewUpdated: (fn: EventCallback) => () => void; }; export {};