import type { Ref, UseQueryOptions, UseQueryResult } from "./core"; export interface Space extends Ref<"space"> { private: boolean; } export interface Folder extends Ref<"folder"> { ancestors: Array>; private: boolean; } export interface List extends Ref<"list"> { ancestors: Array>; private: boolean; } /** Needs `parent` or `ancestor`. */ export interface FolderSelector { parent?: Ref<"space" | "folder">; ancestor?: Ref<"space"> | string; /** Defaults to 100, at most 500. */ limit?: number; } /** Needs `parent` or `ancestor`. */ export interface ListSelector { parent?: Ref<"space" | "folder">; ancestor?: Ref<"space"> | string; /** Defaults to 100, at most 500. */ limit?: number; } export interface SpacesApi { list(): Promise; get(targets: Array | string>): Promise; } export interface FoldersApi { list(selector: FolderSelector): Promise; get(targets: Array | string>): Promise; } export interface ListsApi { list(selector: ListSelector): Promise; get(targets: Array | string>): Promise; } /** Every space, or exactly the given ones. */ export declare function useSpaces(targets?: Array | string>, options?: UseQueryOptions): UseQueryResult; export declare function useFolders(selector: FolderSelector | Array | string>, options?: UseQueryOptions): UseQueryResult; export declare function useLists(selector: ListSelector | Array | string>, options?: UseQueryOptions): UseQueryResult;