import { ComputedRef, Ref } from 'vue'; import { User, CanvasRetrieve } from '../../../../types/openapi'; type SmartFoldersDisplayMode = 'folders' | 'canvases'; interface PathSegment { value: string; property: SmartFolderProperty; } export declare const baseProperties: readonly ["id", "name", "metadata", "context", "is_draft"]; export declare const defaultSmartFoldersAttributes: readonly [{ readonly name: "status"; readonly accessor: "item => item?.is_draft ? 'Draft' :'✅ Ready'"; readonly type: "string"; }, { readonly name: "shared_link"; readonly accessor: "item => !!item?.shared_link?.url"; readonly type: "boolean"; }, { readonly name: "owned_by"; readonly accessor: "item => item.owned_by?.name || item.owned_by?.email"; readonly type: "string"; }, { readonly name: "created_at"; readonly accessor: "created_at"; readonly type: "date"; }, { readonly name: "created_by"; readonly accessor: "item => item.created_by?.name || item.created_by?.email"; readonly type: "string"; }, { readonly name: "modified_at"; readonly accessor: "modified_at"; readonly type: "date"; }, { readonly name: "modified_by"; readonly accessor: "item => item.modified_by?.name || item.modified_by?.email"; readonly type: "string"; }, { readonly name: "tags"; readonly accessor: "tags"; readonly type: "array"; }, { readonly name: "template"; readonly accessor: "template.name"; readonly type: "string"; }]; export type SmartFolderProperty = { name: string; display_name?: string; accessor: string; type: string; description?: string; }; export interface SmartFolderConfig { enabledSmartFolderProperties: SmartFolderProperty['name'][]; } export default function useSmartFolders(emit?: (event: 'open', ...args: any[]) => void): { currentGroupingData: ComputedRef<{ readonly id: string; name: string; content?: Record | undefined; context?: any; indicators?: (Record | null) | undefined; theme?: (Record | null) | undefined; is_draft?: boolean | undefined; is_template?: boolean | undefined; is_section?: boolean | undefined; is_block?: boolean | undefined; is_editable?: boolean | undefined; is_default?: boolean | undefined; metadata?: any; tags?: Array | undefined; start_at?: string | null | undefined; expires_at?: string | null | undefined; access_type?: import('../../../../types/openapi').AccessTypeEnum | undefined; thumbnail_url?: string | null | undefined; instance_id: string; readonly template: { readonly id: string; name: string; }; readonly sections: { readonly id: string; name: string; content: Record; theme?: (Record | null) | undefined; metadata?: Record | undefined; is_draft: boolean; }[]; readonly shared_link: { readonly url: string; short_url?: string | null | undefined; }; account?: { id: string; name?: string | undefined; } | null | undefined; readonly events: { readonly id: string; start_at: string; subject: string; }[]; folder_id?: string | null | undefined; readonly owned_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly created_at: string; readonly created_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly modified_at: string; readonly modified_by: { readonly id: number; readonly name: string; email?: string | undefined; }; }[] | { name: string; itemCount: number; }[]>; groupings: ComputedRef>>; viewMode: import('@vueuse/shared').RemovableRef<"normal" | "smartFolders">; smartFoldersDisplayMode: import('@vueuse/shared').RemovableRef; activeConfiguration: Ref<{ enabledSmartFolderProperties: SmartFolderProperty["name"][]; } | null, SmartFolderConfig | { enabledSmartFolderProperties: SmartFolderProperty["name"][]; } | null>; isLoadingConfig: Ref; isSavingConfig: Ref; isSmartFoldersView: ComputedRef; isNormalView: ComputedRef; isFetchingCanvases: Ref; currentItems: Ref<{ readonly id: string; name: string; content?: Record | undefined; context?: any; indicators?: (Record | null) | undefined; theme?: (Record | null) | undefined; is_draft?: boolean | undefined; is_template?: boolean | undefined; is_section?: boolean | undefined; is_block?: boolean | undefined; is_editable?: boolean | undefined; is_default?: boolean | undefined; metadata?: any; tags?: Array | undefined; start_at?: string | null | undefined; expires_at?: string | null | undefined; access_type?: import('../../../../types/openapi').AccessTypeEnum | undefined; thumbnail_url?: string | null | undefined; instance_id: string; readonly template: { readonly id: string; name: string; }; readonly sections: { readonly id: string; name: string; content: Record; theme?: (Record | null) | undefined; metadata?: Record | undefined; is_draft: boolean; }[]; readonly shared_link: { readonly url: string; short_url?: string | null | undefined; }; account?: { id: string; name?: string | undefined; } | null | undefined; readonly events: { readonly id: string; start_at: string; subject: string; }[]; folder_id?: string | null | undefined; readonly owned_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly created_at: string; readonly created_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly modified_at: string; readonly modified_by: { readonly id: number; readonly name: string; email?: string | undefined; }; }[], CanvasRetrieve[] | { readonly id: string; name: string; content?: Record | undefined; context?: any; indicators?: (Record | null) | undefined; theme?: (Record | null) | undefined; is_draft?: boolean | undefined; is_template?: boolean | undefined; is_section?: boolean | undefined; is_block?: boolean | undefined; is_editable?: boolean | undefined; is_default?: boolean | undefined; metadata?: any; tags?: Array | undefined; start_at?: string | null | undefined; expires_at?: string | null | undefined; access_type?: import('../../../../types/openapi').AccessTypeEnum | undefined; thumbnail_url?: string | null | undefined; instance_id: string; readonly template: { readonly id: string; name: string; }; readonly sections: { readonly id: string; name: string; content: Record; theme?: (Record | null) | undefined; metadata?: Record | undefined; is_draft: boolean; }[]; readonly shared_link: { readonly url: string; short_url?: string | null | undefined; }; account?: { id: string; name?: string | undefined; } | null | undefined; readonly events: { readonly id: string; start_at: string; subject: string; }[]; folder_id?: string | null | undefined; readonly owned_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly created_at: string; readonly created_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly modified_at: string; readonly modified_by: { readonly id: number; readonly name: string; email?: string | undefined; }; }[]>; displayItems: ComputedRef<{ readonly id: string; name: string; content?: Record | undefined; context?: any; indicators?: (Record | null) | undefined; theme?: (Record | null) | undefined; is_draft?: boolean | undefined; is_template?: boolean | undefined; is_section?: boolean | undefined; is_block?: boolean | undefined; is_editable?: boolean | undefined; is_default?: boolean | undefined; metadata?: any; tags?: Array | undefined; start_at?: string | null | undefined; expires_at?: string | null | undefined; access_type?: import('../../../../types/openapi').AccessTypeEnum | undefined; thumbnail_url?: string | null | undefined; instance_id: string; readonly template: { readonly id: string; name: string; }; readonly sections: { readonly id: string; name: string; content: Record; theme?: (Record | null) | undefined; metadata?: Record | undefined; is_draft: boolean; }[]; readonly shared_link: { readonly url: string; short_url?: string | null | undefined; }; account?: { id: string; name?: string | undefined; } | null | undefined; readonly events: { readonly id: string; start_at: string; subject: string; }[]; folder_id?: string | null | undefined; readonly owned_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly created_at: string; readonly created_by: { readonly id: number; readonly name: string; email?: string | undefined; }; readonly modified_at: string; readonly modified_by: { readonly id: number; readonly name: string; email?: string | undefined; }; }[] | { name: string; itemCount: number; }[]>; breadcrumbItems: ComputedRef<{ label: string; path: PathSegment[]; }[]>; columns: ComputedRef<((import('@tanstack/vue-table').AccessorFnColumnDefBase & import('@tanstack/vue-table').StringHeaderIdentifier) | (import('@tanstack/vue-table').AccessorFnColumnDefBase & import('@tanstack/vue-table').IdIdentifier) | (import('@tanstack/vue-table').AccessorKeyColumnDefBase & Partial>))[]>; page: Ref; pageSize: import('@vueuse/shared').RemovableRef; pageSizes: number[]; totalCount: Ref; allSmartFolderProperties: ComputedRef<{ name: string; type: "string" | "boolean" | "number" | "date" | "array"; accessor: string; display_name: string; }[]>; enabledSmartFolderProperties: ComputedRef; resetPath: () => void; toggleSmartFoldersDisplayMode: () => void; onBreadcrumbClick: (item: { label: string; path: PathSegment[]; }) => void; onRowClick: (row: any, e?: MouseEvent) => void; fetchData: (params?: { ownerId?: User["id"]; isAnyTypeOfAdmin?: boolean; }) => Promise; onTableChange: (event: "pageChanged" | "pageSizeChanged" | "sortChanged", value: number | { pageIndex: number; pageSize: number; } | { id: string; desc: boolean; }) => void; saveConfiguration: (config: SmartFolderConfig) => Promise; loadConfiguration: () => Promise; createGroupings: (canvases: CanvasRetrieve[], properties: SmartFolderProperty[]) => Record; toggleViewMode: () => void; setSmartFoldersView: () => void; setNormalView: () => void; searchTerm: Ref; handleSearch: (term: string) => void; }; export {};