import { ColumnConfig, ViewConfig, ViewGroup, ViewGroupOptions } from '../common/types'; import { SortOrderType } from './constants'; export type ApiOptions = { endpoint?: string; token?: string; siteId?: string; }; export type CreateApiOptions = ApiOptions & { mergeApis?: Partial; }; declare const createDefaultApi: (options: ApiOptions) => { listViews: (viewKey: string) => Promise>; queryView: (viewKey: string, viewId: number) => Promise; createView: (data: Partial) => Promise; saveView: (data: Partial) => Promise; removeView: (viewId: number) => Promise; queryViewMeta: (viewKey: string) => Promise; queryViewGroup: (options: ViewGroupOptions) => Promise>; queryFieldOptions: (viewKey: string, viewId: number, fieldName: string) => Promise>; listUserViews: (viewKey: string) => Promise; saveUserView: (options: { view_key: string; view_id: number; column_list?: Array>; }) => Promise; queryUserView: (viewKey: string) => Promise; 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; }; export type ApiType = ReturnType; export declare const createApi: (options: CreateApiOptions) => { listViews: (viewKey: string) => Promise>; queryView: (viewKey: string, viewId: number) => Promise; createView: (data: Partial) => Promise; saveView: (data: Partial) => Promise; removeView: (viewId: number) => Promise; queryViewMeta: (viewKey: string) => Promise; queryViewGroup: (options: ViewGroupOptions) => Promise>; queryFieldOptions: (viewKey: string, viewId: number, fieldName: string) => Promise>; listUserViews: (viewKey: string) => Promise; saveUserView: (options: { view_key: string; view_id: number; column_list?: Array>; }) => Promise; queryUserView: (viewKey: string) => Promise; 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; createView: (data: Partial) => Promise; saveView: (data: Partial) => Promise; removeView: (viewId: number) => Promise; queryViewMeta: (viewKey: string) => Promise; queryViewGroup: (options: ViewGroupOptions) => Promise>; queryFieldOptions: (viewKey: string, viewId: number, fieldName: string) => Promise>; listUserViews: (viewKey: string) => Promise; saveUserView: (options: { view_key: string; view_id: number; column_list?: Array>; }) => Promise; queryUserView: (viewKey: string) => Promise; 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; }>; export {};