import type { RegisteredCommand } from '@struktoai/mirage-core/commands/config'; import type { RegisteredOp } from '@struktoai/mirage-core/ops/registry'; import { BaseResource } from '@struktoai/mirage-core/resource/base'; import type { FindOptions, Resource } from '@struktoai/mirage-core/resource/base'; import { PathSpec } from '@struktoai/mirage-core/types'; import type { FileStat } from '@struktoai/mirage-core/types'; import type { DeltaHook } from '@struktoai/mirage-core/watch/index'; import { NextcloudAccessor } from '../../accessor/nextcloud.ts'; import { type NextcloudConfig, type NextcloudConfigRedacted } from './config.ts'; export interface NextcloudResourceState { type: string; config: NextcloudConfigRedacted; } export declare class NextcloudResource extends BaseResource implements Resource { readonly config: NextcloudConfig; readonly kind: "nextcloud"; readonly cachesReads = true; readonly sizesAlwaysKnown: boolean; readonly supportsSnapshot = true; readonly prompt = "You have access to files stored in Nextcloud."; readonly accessor: NextcloudAccessor; readonly opsMap: Record; constructor(config: NextcloudConfig); open(): Promise; commands(): readonly RegisteredCommand[]; ops(): readonly RegisteredOp[]; streamPath(path: PathSpec): AsyncIterable; readFile(path: PathSpec): Promise; writeFile(path: PathSpec, data: Uint8Array): Promise; appendFile(path: PathSpec, data: Uint8Array): Promise; readdir(path: PathSpec): Promise; stat(path: PathSpec): Promise; exists(path: PathSpec): Promise; mkdir(path: PathSpec): Promise; rmdir(path: PathSpec): Promise; unlink(path: PathSpec): Promise; rename(source: PathSpec, destination: PathSpec): Promise; truncate(path: PathSpec, length: number): Promise; copy(source: PathSpec, destination: PathSpec): Promise; rmR(path: PathSpec): Promise; du(path: PathSpec): Promise; find(path: PathSpec, options?: FindOptions): Promise; glob(paths: readonly PathSpec[], prefix?: string): Promise; deltaHook(): DeltaHook; getState(): Promise; loadState(_state: NextcloudResourceState): Promise; } //# sourceMappingURL=nextcloud.d.ts.map