import type { Spectrum } from '@zakodium/nmrium-core'; import type { ReactNode } from 'react'; type SortDirection = 'asc' | 'desc' | null; type SpectraReference = { id: string; } & Partial>; interface BaseSortOptions { sortDirection?: SortDirection; } interface SortByReferenceOptions extends BaseSortOptions { path: string; sortByReferences: SpectraReference[]; sortType: 'sortByReference'; } interface SortByReferenceIndexesOptions { sortByReferences: SpectraReference[]; sortType: 'sortByReferenceIndexes'; } interface SortByPathOptions extends BaseSortOptions { path: string; nucleus?: string; sortType: 'sortByPath'; } type SortOptions = SortByPathOptions | SortByReferenceOptions | SortByReferenceIndexesOptions; type SortFuncOptions = SortOptions & { activeSort?: string; }; interface SortSpectraContextState { sortOptions: SortOptions | null; sort: (options: SortFuncOptions) => void; reset: () => void; activeSort: string | null; } export declare function useSortSpectra(): SortSpectraContextState; interface SpectraProviderProps { children: ReactNode; } export declare function sortSpectra(originSpectra: Spectrum[], sortOptions: SortOptions): Spectrum[]; export declare function SortSpectraProvider(props: SpectraProviderProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=SortSpectraContext.d.ts.map