import { Ref, MaybeRef } from 'vue'; import { ReadOnlyRef } from '../../utils'; import { SortDir } from '@opencloud-eu/design-system/helpers'; export interface SortableItem { type?: string; isFolder?: boolean; extension?: string; } export interface SortField { name: string; prop?: string; sortable?: MaybeRef; sortDir?: MaybeRef; label?: string; } export interface SortOptions { items: MaybeRef>; fields: MaybeRef>; sortBy?: MaybeRef; sortByQueryName?: MaybeRef; sortDir?: MaybeRef; sortDirQueryName?: MaybeRef; routeName?: MaybeRef; } export interface SortResult { items: Ref>; sortBy: ReadOnlyRef; sortDir: ReadOnlyRef; handleSort({ sortBy, sortDir }: { sortBy: string; sortDir: SortDir; }): void; } export declare function useSort(options: SortOptions): SortResult; export declare const sortHelper: (items: T[], fields: SortField[], sortBy: string, sortDir: SortDir) => T[];