import { type Ref, type ComputedRef } from 'vue'; type R = T | Ref | ComputedRef; type FilterType = { [key in keyof Models[Model]]?: R; }; type SortType = { field: R; dir: R<'ASC' | 'DESC'>; }[]; type PaginationSettings = { page?: R; limit?: R; cursor?: R; }; type IncludeType = Array; type OptionsType = { filter?: R>; pagination?: R>; sort?: R>; include?: R>; mergePages?: boolean; path?: string; loadOnUpdate?: boolean; lazy?: R; throttle?: number; }; export default function createUseList(models: any, stores: any, cache: any): (model: ModelName, options?: OptionsType) => { items: ComputedRef; create: (data: Partial) => any; pushId: (id: IdType) => void; refresh: () => void; isLoading: ComputedRef; isFailed: ComputedRef; error: any; meta: [{ nextCursor?: IdType; page: number; pages: number; results: number; } & ListMetaTypes[ModelName]] extends [Ref] ? Ref & { nextCursor?: IdType; page: number; pages: number; results: number; } & ListMetaTypes[ModelName] : Ref>; }; export {};