import { AllowedComponentProps } from 'vue'; import { Attrs } from 'vue'; import { ComponentCustomProperties } from 'vue'; import { ComponentCustomProps } from 'vue'; import { ComponentInternalInstance } from 'vue'; import { ComponentOptionsBase } from 'vue'; import { ComponentOptionsMixin } from 'vue'; import { ComponentProvideOptions } from 'vue'; import { ComponentPublicInstance } from 'vue'; import { ComputedRef } from 'vue'; import { CreateComponentPublicInstanceWithMixins } from 'vue'; import { DebuggerEvent } from 'vue'; import { DefineComponent } from 'vue'; import { GlobalComponents } from 'vue'; import { GlobalDirectives } from 'vue'; import { nextTick } from 'vue'; import { OnCleanup } from '@vue/reactivity'; import { PublicProps } from 'vue'; import { Ref } from 'vue'; import { ShallowRef } from 'vue'; import { Slot } from 'vue'; import { VNodeProps } from 'vue'; import { WatchOptions } from 'vue'; import { WatchStopHandle } from 'vue'; /** Test seam: send whatever is pending now, without waiting out the debounce. */ export declare function __flushViewPrefs(): void; /** Test seam — the console line is once per value per page, so a suite that * asserts on it has to be able to start over. Not used by the app. */ export declare function __resetUiProfileWarnings(): void; /** Test seam: drop the transport and the state, so one suite cannot leak a * document into the next. Not used by the app. */ export declare function __resetViewPrefs(): void; declare const __VLS_component: DefineComponent<__VLS_Props, { reload: () => Promise; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & { error: (err: { message: string; context?: unknown; }) => any; refresh: () => any; "share-created": (payload: { path: string; url: string; pin: string | null; }) => any; navigate: (p: { path: string; }) => any; "file-opened": (file: { path: string; basename: string; }) => any; "upload-progress": (p: { uploadId: string; percent: number; done: boolean; }) => any; "selection-change": (items: { path: string; basename: string; type: "file" | "dir"; }[]) => any; }, string, PublicProps, Readonly<__VLS_Props> & Readonly<{ onError?: ((err: { message: string; context?: unknown; }) => any) | undefined; onRefresh?: (() => any) | undefined; "onShare-created"?: ((payload: { path: string; url: string; pin: string | null; }) => any) | undefined; onNavigate?: ((p: { path: string; }) => any) | undefined; "onFile-opened"?: ((file: { path: string; basename: string; }) => any) | undefined; "onUpload-progress"?: ((p: { uploadId: string; percent: number; done: boolean; }) => any) | undefined; "onSelection-change"?: ((items: { path: string; basename: string; type: "file" | "dir"; }[]) => any) | undefined; }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, { rootEl: HTMLDivElement; toolbarRef: ({ $: ComponentInternalInstance; $data: {}; $props: { readonly viewMode: ViewMode; readonly searchQuery: string; readonly trashActive: boolean; readonly actions: ContextAction[]; readonly selectionMode?: SelectionMode_2 | undefined; readonly selectionCount?: number | undefined; readonly selectionPane?: string | undefined; readonly pasteEnabled?: boolean | undefined; readonly convertEnabled?: boolean | undefined; readonly canGoUp?: boolean | undefined; readonly atVirtualRoot?: boolean | undefined; readonly canWrite?: boolean | undefined; readonly locale: LocaleCode; readonly narrow?: boolean | undefined; readonly theme?: ThemeMode | undefined; readonly inspectorOpen?: boolean | undefined; readonly navOpen?: boolean | undefined; readonly navEnabled?: boolean | undefined; readonly viewModes?: ViewMode[] | undefined; readonly scopeLabel?: string | undefined; readonly brandName?: string | undefined; readonly brandMarkUrl?: string | undefined; readonly searchEscalates?: boolean | undefined; readonly onAction?: ((key: string) => any) | undefined; readonly onUpload?: (() => any) | undefined; readonly "onGo-up"?: (() => any) | undefined; readonly "onNew-folder"?: (() => any) | undefined; readonly onRefresh?: (() => any) | undefined; readonly "onUpdate:viewMode"?: ((v: ViewMode) => any) | undefined; readonly "onUpdate:searchQuery"?: ((v: string) => any) | undefined; readonly "onOpen-advanced-search"?: ((v: string) => any) | undefined; readonly "onOpen-recents"?: (() => any) | undefined; readonly "onUpdate:density"?: ((v: Density) => any) | undefined; readonly "onToggle-inspector"?: (() => any) | undefined; readonly "onToggle-nav"?: (() => any) | undefined; readonly "onOpen-theme"?: (() => any) | undefined; readonly "onOpen-shortcut-settings"?: (() => any) | undefined; readonly "onOpen-timezone"?: (() => any) | undefined; readonly "onOpen-palette"?: ((query: string) => any) | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps; $attrs: Attrs; $refs: { [x: string]: unknown; } & { rootEl: HTMLDivElement; searchEl: HTMLInputElement; moreBtnEl: HTMLButtonElement; moreRef: CreateComponentPublicInstanceWithMixins & Readonly<{ onSelect?: ((action: ContextAction, target: FileNode[]) => any) | undefined; }>, { show: (ev: { clientX: number; clientY: number; }, nodes: FileNode[]) => Promise; hide: () => void; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & { select: (action: ContextAction, target: FileNode[]) => any; }, PublicProps, {}, false, {}, {}, GlobalComponents, GlobalDirectives, string, { sheetEl: HTMLDivElement; menuEl: HTMLDivElement; }, any, ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ locale: LocaleCode; actions: ContextAction[]; theme?: ThemeMode; sheet?: boolean; }> & Readonly<{ onSelect?: ((action: ContextAction, target: FileNode[]) => any) | undefined; }>, { show: (ev: { clientX: number; clientY: number; }, nodes: FileNode[]) => Promise; hide: () => void; }, {}, {}, {}, {}> | null; selBarEl: HTMLDivElement; selMoreBtnEl: HTMLButtonElement; measureEl: HTMLDivElement; selMoreRef: CreateComponentPublicInstanceWithMixins & Readonly<{ onSelect?: ((action: ContextAction, target: FileNode[]) => any) | undefined; }>, { show: (ev: { clientX: number; clientY: number; }, nodes: FileNode[]) => Promise; hide: () => void; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & { select: (action: ContextAction, target: FileNode[]) => any; }, PublicProps, {}, false, {}, {}, GlobalComponents, GlobalDirectives, string, { sheetEl: HTMLDivElement; menuEl: HTMLDivElement; }, any, ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ locale: LocaleCode; actions: ContextAction[]; theme?: ThemeMode; sheet?: boolean; }> & Readonly<{ onSelect?: ((action: ContextAction, target: FileNode[]) => any) | undefined; }>, { show: (ev: { clientX: number; clientY: number; }, nodes: FileNode[]) => Promise; hide: () => void; }, {}, {}, {}, {}> | null; }; $slots: Readonly<{ [name: string]: Slot | undefined; }>; $root: ComponentPublicInstance | null; $parent: ComponentPublicInstance | null; $host: Element | null; $emit: ((event: "action", key: string) => void) & ((event: "upload") => void) & ((event: "go-up") => void) & ((event: "new-folder") => void) & ((event: "refresh") => void) & ((event: "update:viewMode", v: ViewMode) => void) & ((event: "update:searchQuery", v: string) => void) & ((event: "open-advanced-search", v: string) => void) & ((event: "open-recents") => void) & ((event: "update:density", v: Density) => void) & ((event: "toggle-inspector") => void) & ((event: "toggle-nav") => void) & ((event: "open-theme") => void) & ((event: "open-shortcut-settings") => void) & ((event: "open-timezone") => void) & ((event: "open-palette", query: string) => void); $el: HTMLDivElement; $options: ComponentOptionsBase & Readonly<{ onAction?: ((key: string) => any) | undefined; onUpload?: (() => any) | undefined; "onGo-up"?: (() => any) | undefined; "onNew-folder"?: (() => any) | undefined; onRefresh?: (() => any) | undefined; "onUpdate:viewMode"?: ((v: ViewMode) => any) | undefined; "onUpdate:searchQuery"?: ((v: string) => any) | undefined; "onOpen-advanced-search"?: ((v: string) => any) | undefined; "onOpen-recents"?: (() => any) | undefined; "onUpdate:density"?: ((v: Density) => any) | undefined; "onToggle-inspector"?: (() => any) | undefined; "onToggle-nav"?: (() => any) | undefined; "onOpen-theme"?: (() => any) | undefined; "onOpen-shortcut-settings"?: (() => any) | undefined; "onOpen-timezone"?: (() => any) | undefined; "onOpen-palette"?: ((query: string) => any) | undefined; }>, { focusSearch: () => Promise; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & { action: (key: string) => any; upload: () => any; "go-up": () => any; "new-folder": () => any; refresh: () => any; "update:viewMode": (v: ViewMode) => any; "update:searchQuery": (v: string) => any; "open-advanced-search": (v: string) => any; "open-recents": () => any; "update:density": (v: Density) => any; "toggle-inspector": () => any; "toggle-nav": () => any; "open-theme": () => any; "open-shortcut-settings": () => any; "open-timezone": () => any; "open-palette": (query: string) => any; }, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]; renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof nextTick; $watch any)>(source: T, cb: T extends ( /** * FileExplorer — the public Vue component, panel + PWA + standalone use. * * Orchestrates: * - Directory listing (useFileApi) * - Chunked multipart upload (useUploadChunked) + drag & drop * - Selection + keyboard shortcuts * - Context menu (Teleport-based) with per-target actions * - Modal flows: newFolder / rename / delete / share / preview * - Eager Monaco preload so the code-edit path is snappy * * All backend endpoints arrive via the `config` prop. Auth is bearer * (PWA / OIDC) / CSRF (panel) / basic / none — `useFileApi` swallows * the difference. */ ...args: any) => infer R ? ( /** * FileExplorer — the public Vue component, panel + PWA + standalone use. * * Orchestrates: * - Directory listing (useFileApi) * - Chunked multipart upload (useUploadChunked) + drag & drop * - Selection + keyboard shortcuts * - Context menu (Teleport-based) with per-target actions * - Modal flows: newFolder / rename / delete / share / preview * - Eager Monaco preload so the code-edit path is snappy * * All backend endpoints arrive via the `config` prop. Auth is bearer * (PWA / OIDC) / CSRF (panel) / basic / none — `useFileApi` swallows * the difference. */ ...args: [R, R, OnCleanup]) => any : ( /** * FileExplorer — the public Vue component, panel + PWA + standalone use. * * Orchestrates: * - Directory listing (useFileApi) * - Chunked multipart upload (useUploadChunked) + drag & drop * - Selection + keyboard shortcuts * - Context menu (Teleport-based) with per-target actions * - Modal flows: newFolder / rename / delete / share / preview * - Eager Monaco preload so the code-edit path is snappy * * All backend endpoints arrive via the `config` prop. Auth is bearer * (PWA / OIDC) / CSRF (panel) / basic / none — `useFileApi` swallows * the difference. */ ...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle; } & Readonly<{}> & Omit & Readonly<{ onAction?: ((key: string) => any) | undefined; onUpload?: (() => any) | undefined; "onGo-up"?: (() => any) | undefined; "onNew-folder"?: (() => any) | undefined; onRefresh?: (() => any) | undefined; "onUpdate:viewMode"?: ((v: ViewMode) => any) | undefined; "onUpdate:searchQuery"?: ((v: string) => any) | undefined; "onOpen-advanced-search"?: ((v: string) => any) | undefined; "onOpen-recents"?: (() => any) | undefined; "onUpdate:density"?: ((v: Density) => any) | undefined; "onToggle-inspector"?: (() => any) | undefined; "onToggle-nav"?: (() => any) | undefined; "onOpen-theme"?: (() => any) | undefined; "onOpen-shortcut-settings"?: (() => any) | undefined; "onOpen-timezone"?: (() => any) | undefined; "onOpen-palette"?: ((query: string) => any) | undefined; }>, "focusSearch"> & { focusSearch: () => Promise; } & {} & ComponentCustomProperties & {} & { $slots: { brand?(_: {}): any; 'header-actions'?(_: {}): any; 'header-actions'?(_: {}): any; }; }) | null; mainPaneRef: ({ $: ComponentInternalInstance; $data: {}; $props: { readonly [x: `on${Capitalize}`]: ((...args: any) => any) | undefined; readonly paneId: PaneId; readonly api: FileApi; readonly locale: LocaleCode; readonly theme?: ThemeMode | undefined; readonly focused?: boolean | undefined; readonly closable?: boolean | undefined; readonly path: string; readonly selfDriven?: boolean | undefined; readonly qualify: (p: string) => string; readonly toUser: (wire: string) => string; readonly clamp: (p: string) => string; readonly rootLabel?: string | undefined; readonly rootPath?: string | undefined; readonly floor?: string | undefined; readonly multiRoot?: boolean | undefined; readonly virtualRows?: (() => FileNode[]) | undefined; readonly trashVisible?: boolean | undefined; readonly navOffersTrash?: boolean | undefined; readonly rows?: FileNode[] | undefined; readonly loading?: boolean | undefined; readonly error?: string | undefined; readonly order?: ListingOrder | undefined; readonly viewMode: ViewMode; readonly viewModes?: ViewMode[] | undefined; readonly showCrumbs?: boolean | undefined; readonly showFilterBar?: boolean | undefined; readonly filterMode?: "full" | "find" | undefined; readonly findLabel?: string | undefined; readonly showViewSwitcher?: boolean | undefined; readonly crumbSubfolders?: { label: string; adapterPath: string; }[] | undefined; readonly folderKey?: string | undefined; readonly showParentPath?: boolean | undefined; readonly clipped?: Set | undefined; readonly extraFilters?: (DriveFilters | null) | undefined; readonly canWrite?: boolean | undefined; readonly canPaste?: boolean | undefined; readonly selected: Set; readonly filters: DriveFilters; readonly thumbSrc?: ((n: FileNode) => string | null) | undefined; readonly keepBadgeFor?: ((n: FileNode) => "kept" | "syncing" | "cloud" | "partial" | null) | undefined; readonly starredIds?: Set | undefined; readonly starEnabled?: boolean | undefined; readonly apiBase?: string | undefined; readonly authHeaders?: (() => Record | Promise>) | undefined; readonly authCredentials?: RequestCredentials | undefined; readonly e2eActive?: boolean | undefined; readonly bodyOverride?: boolean | undefined; readonly openTrigger?: "single" | "double" | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps; $attrs: Attrs; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: Slot | undefined; }>; $root: ComponentPublicInstance | null; $parent: ComponentPublicInstance | null; $host: Element | null; $emit: (event: string, ...args: any[]) => void; $el: HTMLElement; $options: ComponentOptionsBase string; toUser: (wire: string) => string; clamp: (p: string) => string; rootLabel?: string; rootPath?: string; floor?: string; multiRoot?: boolean; virtualRows?: () => FileNode[]; trashVisible?: boolean; navOffersTrash?: boolean; rows?: FileNode[]; loading?: boolean; error?: string; order?: ListingOrder; viewMode: ViewMode; viewModes?: ViewMode[]; showCrumbs?: boolean; showFilterBar?: boolean; filterMode?: "full" | "find"; findLabel?: string; showViewSwitcher?: boolean; crumbSubfolders?: { label: string; adapterPath: string; }[]; folderKey?: string; showParentPath?: boolean; clipped?: Set; extraFilters?: DriveFilters | null; canWrite?: boolean; canPaste?: boolean; selected: Set; filters: DriveFilters; thumbSrc?: (n: FileNode) => string | null; keepBadgeFor?: (n: FileNode) => "kept" | "syncing" | "cloud" | "partial" | null; starredIds?: Set; starEnabled?: boolean; apiBase?: string; authHeaders?: () => Record | Promise>; authCredentials?: RequestCredentials; e2eActive?: boolean; bodyOverride?: boolean; openTrigger?: "single" | "double"; }> & Readonly<{ [x: `on${Capitalize}`]: ((...args: any) => any) | undefined; }>, { reload: () => Promise; goUp: () => void; getPath: () => string; visibleNodes: () => FileNode[]; loadFolder: (target?: string) => Promise; rowCount: () => number; rowPaths: () => string[]; dirPerm: () => string; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & { [x: string]: any; }, string, { trashVisible: boolean; showCrumbs: boolean; showFilterBar: boolean; showViewSwitcher: boolean; openTrigger: "single" | "double"; }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]; renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof nextTick; $watch any)>(source: T, cb: T extends ( /** * FileExplorer — the public Vue component, panel + PWA + standalone use. * * Orchestrates: * - Directory listing (useFileApi) * - Chunked multipart upload (useUploadChunked) + drag & drop * - Selection + keyboard shortcuts * - Context menu (Teleport-based) with per-target actions * - Modal flows: newFolder / rename / delete / share / preview * - Eager Monaco preload so the code-edit path is snappy * * All backend endpoints arrive via the `config` prop. Auth is bearer * (PWA / OIDC) / CSRF (panel) / basic / none — `useFileApi` swallows * the difference. */ ...args: any) => infer R ? ( /** * FileExplorer — the public Vue component, panel + PWA + standalone use. * * Orchestrates: * - Directory listing (useFileApi) * - Chunked multipart upload (useUploadChunked) + drag & drop * - Selection + keyboard shortcuts * - Context menu (Teleport-based) with per-target actions * - Modal flows: newFolder / rename / delete / share / preview * - Eager Monaco preload so the code-edit path is snappy * * All backend endpoints arrive via the `config` prop. Auth is bearer * (PWA / OIDC) / CSRF (panel) / basic / none — `useFileApi` swallows * the difference. */ ...args: [R, R, OnCleanup]) => any : ( /** * FileExplorer — the public Vue component, panel + PWA + standalone use. * * Orchestrates: * - Directory listing (useFileApi) * - Chunked multipart upload (useUploadChunked) + drag & drop * - Selection + keyboard shortcuts * - Context menu (Teleport-based) with per-target actions * - Modal flows: newFolder / rename / delete / share / preview * - Eager Monaco preload so the code-edit path is snappy * * All backend endpoints arrive via the `config` prop. Auth is bearer * (PWA / OIDC) / CSRF (panel) / basic / none — `useFileApi` swallows * the difference. */ ...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle; } & Readonly<{ trashVisible: boolean; showCrumbs: boolean; showFilterBar: boolean; showViewSwitcher: boolean; openTrigger: "single" | "double"; }> & Omit string; toUser: (wire: string) => string; clamp: (p: string) => string; rootLabel?: string; rootPath?: string; floor?: string; multiRoot?: boolean; virtualRows?: () => FileNode[]; trashVisible?: boolean; navOffersTrash?: boolean; rows?: FileNode[]; loading?: boolean; error?: string; order?: ListingOrder; viewMode: ViewMode; viewModes?: ViewMode[]; showCrumbs?: boolean; showFilterBar?: boolean; filterMode?: "full" | "find"; findLabel?: string; showViewSwitcher?: boolean; crumbSubfolders?: { label: string; adapterPath: string; }[]; folderKey?: string; showParentPath?: boolean; clipped?: Set; extraFilters?: DriveFilters | null; canWrite?: boolean; canPaste?: boolean; selected: Set; filters: DriveFilters; thumbSrc?: (n: FileNode) => string | null; keepBadgeFor?: (n: FileNode) => "kept" | "syncing" | "cloud" | "partial" | null; starredIds?: Set; starEnabled?: boolean; apiBase?: string; authHeaders?: () => Record | Promise>; authCredentials?: RequestCredentials; e2eActive?: boolean; bodyOverride?: boolean; openTrigger?: "single" | "double"; }> & Readonly<{ [x: `on${Capitalize}`]: ((...args: any) => any) | undefined; }>, "reload" | "dirPerm" | "goUp" | "getPath" | "visibleNodes" | "loadFolder" | "rowCount" | "rowPaths" | ("trashVisible" | "showCrumbs" | "showFilterBar" | "showViewSwitcher" | "openTrigger")> & { reload: () => Promise; goUp: () => void; getPath: () => string; visibleNodes: () => FileNode[]; loadFolder: (target?: string) => Promise; rowCount: () => number; rowPaths: () => string[]; dirPerm: () => string; } & {} & ComponentCustomProperties & {} & { $slots: { heading?(_: {}): any; banners?(_: {}): any; body?(_: {}): any; empty?(_: {}): any; }; }) | null; splitPaneRef: ({ $: ComponentInternalInstance; $data: {}; $props: { readonly [x: `on${Capitalize}`]: ((...args: any) => any) | undefined; readonly paneId: PaneId; readonly api: FileApi; readonly locale: LocaleCode; readonly theme?: ThemeMode | undefined; readonly focused?: boolean | undefined; readonly closable?: boolean | undefined; readonly path: string; readonly selfDriven?: boolean | undefined; readonly qualify: (p: string) => string; readonly toUser: (wire: string) => string; readonly clamp: (p: string) => string; readonly rootLabel?: string | undefined; readonly rootPath?: string | undefined; readonly floor?: string | undefined; readonly multiRoot?: boolean | undefined; readonly virtualRows?: (() => FileNode[]) | undefined; readonly trashVisible?: boolean | undefined; readonly navOffersTrash?: boolean | undefined; readonly rows?: FileNode[] | undefined; readonly loading?: boolean | undefined; readonly error?: string | undefined; readonly order?: ListingOrder | undefined; readonly viewMode: ViewMode; readonly viewModes?: ViewMode[] | undefined; readonly showCrumbs?: boolean | undefined; readonly showFilterBar?: boolean | undefined; readonly filterMode?: "full" | "find" | undefined; readonly findLabel?: string | undefined; readonly showViewSwitcher?: boolean | undefined; readonly crumbSubfolders?: { label: string; adapterPath: string; }[] | undefined; readonly folderKey?: string | undefined; readonly showParentPath?: boolean | undefined; readonly clipped?: Set | undefined; readonly extraFilters?: (DriveFilters | null) | undefined; readonly canWrite?: boolean | undefined; readonly canPaste?: boolean | undefined; readonly selected: Set; readonly filters: DriveFilters; readonly thumbSrc?: ((n: FileNode) => string | null) | undefined; readonly keepBadgeFor?: ((n: FileNode) => "kept" | "syncing" | "cloud" | "partial" | null) | undefined; readonly starredIds?: Set | undefined; readonly starEnabled?: boolean | undefined; readonly apiBase?: string | undefined; readonly authHeaders?: (() => Record | Promise>) | undefined; readonly authCredentials?: RequestCredentials | undefined; readonly e2eActive?: boolean | undefined; readonly bodyOverride?: boolean | undefined; readonly openTrigger?: "single" | "double" | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps; $attrs: Attrs; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: Slot | undefined; }>; $root: ComponentPublicInstance | null; $parent: ComponentPublicInstance | null; $host: Element | null; $emit: (event: string, ...args: any[]) => void; $el: HTMLElement; $options: ComponentOptionsBase string; toUser: (wire: string) => string; clamp: (p: string) => string; rootLabel?: string; rootPath?: string; floor?: string; multiRoot?: boolean; virtualRows?: () => FileNode[]; trashVisible?: boolean; navOffersTrash?: boolean; rows?: FileNode[]; loading?: boolean; error?: string; order?: ListingOrder; viewMode: ViewMode; viewModes?: ViewMode[]; showCrumbs?: boolean; showFilterBar?: boolean; filterMode?: "full" | "find"; findLabel?: string; showViewSwitcher?: boolean; crumbSubfolders?: { label: string; adapterPath: string; }[]; folderKey?: string; showParentPath?: boolean; clipped?: Set; extraFilters?: DriveFilters | null; canWrite?: boolean; canPaste?: boolean; selected: Set; filters: DriveFilters; thumbSrc?: (n: FileNode) => string | null; keepBadgeFor?: (n: FileNode) => "kept" | "syncing" | "cloud" | "partial" | null; starredIds?: Set; starEnabled?: boolean; apiBase?: string; authHeaders?: () => Record | Promise>; authCredentials?: RequestCredentials; e2eActive?: boolean; bodyOverride?: boolean; openTrigger?: "single" | "double"; }> & Readonly<{ [x: `on${Capitalize}`]: ((...args: any) => any) | undefined; }>, { reload: () => Promise; goUp: () => void; getPath: () => string; visibleNodes: () => FileNode[]; loadFolder: (target?: string) => Promise; rowCount: () => number; rowPaths: () => string[]; dirPerm: () => string; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & { [x: string]: any; }, string, { trashVisible: boolean; showCrumbs: boolean; showFilterBar: boolean; showViewSwitcher: boolean; openTrigger: "single" | "double"; }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]; renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof nextTick; $watch any)>(source: T, cb: T extends ( /** * FileExplorer — the public Vue component, panel + PWA + standalone use. * * Orchestrates: * - Directory listing (useFileApi) * - Chunked multipart upload (useUploadChunked) + drag & drop * - Selection + keyboard shortcuts * - Context menu (Teleport-based) with per-target actions * - Modal flows: newFolder / rename / delete / share / preview * - Eager Monaco preload so the code-edit path is snappy * * All backend endpoints arrive via the `config` prop. Auth is bearer * (PWA / OIDC) / CSRF (panel) / basic / none — `useFileApi` swallows * the difference. */ ...args: any) => infer R ? ( /** * FileExplorer — the public Vue component, panel + PWA + standalone use. * * Orchestrates: * - Directory listing (useFileApi) * - Chunked multipart upload (useUploadChunked) + drag & drop * - Selection + keyboard shortcuts * - Context menu (Teleport-based) with per-target actions * - Modal flows: newFolder / rename / delete / share / preview * - Eager Monaco preload so the code-edit path is snappy * * All backend endpoints arrive via the `config` prop. Auth is bearer * (PWA / OIDC) / CSRF (panel) / basic / none — `useFileApi` swallows * the difference. */ ...args: [R, R, OnCleanup]) => any : ( /** * FileExplorer — the public Vue component, panel + PWA + standalone use. * * Orchestrates: * - Directory listing (useFileApi) * - Chunked multipart upload (useUploadChunked) + drag & drop * - Selection + keyboard shortcuts * - Context menu (Teleport-based) with per-target actions * - Modal flows: newFolder / rename / delete / share / preview * - Eager Monaco preload so the code-edit path is snappy * * All backend endpoints arrive via the `config` prop. Auth is bearer * (PWA / OIDC) / CSRF (panel) / basic / none — `useFileApi` swallows * the difference. */ ...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle; } & Readonly<{ trashVisible: boolean; showCrumbs: boolean; showFilterBar: boolean; showViewSwitcher: boolean; openTrigger: "single" | "double"; }> & Omit string; toUser: (wire: string) => string; clamp: (p: string) => string; rootLabel?: string; rootPath?: string; floor?: string; multiRoot?: boolean; virtualRows?: () => FileNode[]; trashVisible?: boolean; navOffersTrash?: boolean; rows?: FileNode[]; loading?: boolean; error?: string; order?: ListingOrder; viewMode: ViewMode; viewModes?: ViewMode[]; showCrumbs?: boolean; showFilterBar?: boolean; filterMode?: "full" | "find"; findLabel?: string; showViewSwitcher?: boolean; crumbSubfolders?: { label: string; adapterPath: string; }[]; folderKey?: string; showParentPath?: boolean; clipped?: Set; extraFilters?: DriveFilters | null; canWrite?: boolean; canPaste?: boolean; selected: Set; filters: DriveFilters; thumbSrc?: (n: FileNode) => string | null; keepBadgeFor?: (n: FileNode) => "kept" | "syncing" | "cloud" | "partial" | null; starredIds?: Set; starEnabled?: boolean; apiBase?: string; authHeaders?: () => Record | Promise>; authCredentials?: RequestCredentials; e2eActive?: boolean; bodyOverride?: boolean; openTrigger?: "single" | "double"; }> & Readonly<{ [x: `on${Capitalize}`]: ((...args: any) => any) | undefined; }>, "reload" | "dirPerm" | "goUp" | "getPath" | "visibleNodes" | "loadFolder" | "rowCount" | "rowPaths" | ("trashVisible" | "showCrumbs" | "showFilterBar" | "showViewSwitcher" | "openTrigger")> & { reload: () => Promise; goUp: () => void; getPath: () => string; visibleNodes: () => FileNode[]; loadFolder: (target?: string) => Promise; rowCount: () => number; rowPaths: () => string[]; dirPerm: () => string; } & {} & ComponentCustomProperties & {} & { $slots: { heading?(_: {}): any; banners?(_: {}): any; body?(_: {}): any; empty?(_: {}): any; }; }) | null; ctxRef: CreateComponentPublicInstanceWithMixins & Readonly<{ onSelect?: ((action: ContextAction, target: FileNode[]) => any) | undefined; }>, { show: (ev: { clientX: number; clientY: number; }, nodes: FileNode[]) => Promise; hide: () => void; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & { select: (action: ContextAction, target: FileNode[]) => any; }, PublicProps, {}, false, {}, {}, GlobalComponents, GlobalDirectives, string, { sheetEl: HTMLDivElement; menuEl: HTMLDivElement; }, any, ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ locale: LocaleCode; actions: ContextAction[]; theme?: ThemeMode; sheet?: boolean; }> & Readonly<{ onSelect?: ((action: ContextAction, target: FileNode[]) => any) | undefined; }>, { show: (ev: { clientX: number; clientY: number; }, nodes: FileNode[]) => Promise; hide: () => void; }, {}, {}, {}, {}> | null; fileInputEl: HTMLInputElement; }, HTMLDivElement>; declare const __VLS_component_2: DefineComponent<__VLS_Props_15, { reload: typeof reload; goUp: typeof goUp; getPath: typeof getPath; visibleNodes: typeof visibleNodes; loadFolder: typeof loadFolder; rowCount: typeof rowCount; rowPaths: typeof rowPaths; dirPerm: typeof dirPerm; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & { [x: string]: any; }, string, PublicProps, Readonly<__VLS_Props_15> & Readonly<{ [x: `on${Capitalize}`]: ((...args: any) => any) | undefined; }>, { trashVisible: boolean; showCrumbs: boolean; showFilterBar: boolean; showViewSwitcher: boolean; openTrigger: "single" | "double"; }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>; declare type __VLS_Props = { config: ExplorerConfig; }; declare type __VLS_Props_10 = { locale: LocaleCode; /** `''` = the default row; otherwise an IANA id. */ modelValue: string; /** What `''` resolves to on this surface — the zone and the tier. */ fallback: ResolvedTimeZone; disabled?: boolean; /** Id for the input, so the host's own `