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 { SSHAccessor } from '../../accessor/ssh.ts'; import { type SSHConfig, type SSHConfigRedacted } from './config.ts'; import { type DeltaHook } from '@struktoai/mirage-core/watch/index'; export interface SSHResourceState { type: string; config: SSHConfigRedacted; } export declare class SSHResource extends BaseResource implements Resource { readonly kind: "ssh"; readonly cachesReads: boolean; readonly sizesAlwaysKnown: boolean; readonly indexTtl: number; readonly prompt = "{prefix}\n Remote filesystem via SSH/SFTP.\n IMPORTANT: This is a remote mount. Prefer targeted reads over full scans.\n Supports: ls, cat, head, tail, grep, rg, wc, find, tree, stat, mkdir, touch, cp, mv, rm, tee."; readonly config: SSHConfig; readonly accessor: SSHAccessor; readonly opsMap: Record; constructor(config: SSHConfig); open(): Promise; close(): Promise; ops(): readonly RegisteredOp[]; commands(): readonly RegisteredCommand[]; streamPath(p: PathSpec): AsyncIterable; readFile(p: PathSpec): Promise; writeFile(p: PathSpec, data: Uint8Array): Promise; appendFile(p: PathSpec, data: Uint8Array): Promise; readdir(p: PathSpec): Promise; stat(p: PathSpec): Promise; exists(p: PathSpec): Promise; mkdir(p: PathSpec, options?: { recursive?: boolean; }): Promise; rmdir(p: PathSpec): Promise; unlink(p: PathSpec): Promise; rename(src: PathSpec, dst: PathSpec): Promise; truncate(p: PathSpec, length: number): Promise; copy(src: PathSpec, dst: PathSpec): Promise; rmR(p: PathSpec): Promise; du(p: PathSpec): Promise; find(p: PathSpec, options?: FindOptions): Promise; deltaHook(): DeltaHook; glob(paths: readonly PathSpec[], prefix?: string): Promise; getState(): Promise; loadState(_state: SSHResourceState): Promise; } //# sourceMappingURL=ssh.d.ts.map