import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import Long from "long"; /** * Represents a file or directory entry in the remote file system. * @internal */ export interface FileSystemEntry { /** Display name of the entry (file name or drive/volume label). */ name: string; /** Full path to the entry. Pass this to `GetEntries` to browse into a directory. */ path: string; /** True if the entry is a directory; false if it is a file. */ isDirectory: boolean; /** Size of the file in bytes. Only set for file entries. */ size?: Long | undefined; /** Last-modified time as Unix time in microseconds. Only set when available. */ lastModifiedUs?: Long | undefined; } /** * Request message for listing entries inside a directory. * @internal */ export interface GetEntriesRequest { /** Full path of the directory to list. */ path: string; /** * Optional list of file extensions to include (e.g. ".kme50", ".trc"). * When non-empty, only files whose extension matches one of the provided values are returned. * Directories are always included regardless of this filter. * Extensions are matched case-insensitively. */ fileExtensions: string[]; } /** * Response message containing the entries of a directory. * @internal */ export interface GetEntriesResponse { /** The file and directory entries found in the requested directory. */ entries: FileSystemEntry[]; } /** * Response message containing the root entry of the remote file system. * @internal */ export interface GetRootResponse { /** The root entry of the remote file system. */ entry: FileSystemEntry | undefined; } /** * Request message for reading a file from the remote file system. * @internal */ export interface ReadFileRequest { /** Full path of the file to open for reading. */ path: string; } /** * Streamed response chunk for file read operations. * @internal */ export interface ReadFileResponse { /** Raw file bytes for this chunk. */ data: Uint8Array; } /** * Streamed request chunk for file write operations. * @internal */ export interface WriteFileRequest { /** * Full path of the file to write. * The path must be set on the first streamed message. */ path: string; /** Raw file bytes for this chunk. */ data: Uint8Array; } /** * Response message for file write operations. * @internal */ export interface WriteFileResponse { /** True if the file was successfully written; false otherwise. */ success: boolean; /** An optional error message if the write operation failed. */ errorMessage?: string | undefined; } /** * Request message for deleting a file or directory. * @internal */ export interface DeleteEntryRequest { /** Full path of the file or directory to delete. */ path: string; } /** * Response message for file delete operations. * @internal */ export interface DeleteEntryResponse { /** True if the file or directory was successfully deleted; false otherwise. */ success: boolean; /** An optional error message if the delete operation failed. */ errorMessage?: string | undefined; } /** * Request message for creating a new directory. * @internal */ export interface CreateDirectoryRequest { /** Full path of the directory to create. */ path: string; } /** * Response message for directory creation operations. * @internal */ export interface CreateDirectoryResponse { /** True if the directory was successfully created; false otherwise. */ success: boolean; /** An optional error message if the directory creation operation failed. */ errorMessage?: string | undefined; } export declare const FileSystemEntry: MessageFns; export declare const GetEntriesRequest: MessageFns; export declare const GetEntriesResponse: MessageFns; export declare const GetRootResponse: MessageFns; export declare const ReadFileRequest: MessageFns; export declare const ReadFileResponse: MessageFns; export declare const WriteFileRequest: MessageFns; export declare const WriteFileResponse: MessageFns; export declare const DeleteEntryRequest: MessageFns; export declare const DeleteEntryResponse: MessageFns; export declare const CreateDirectoryRequest: MessageFns; export declare const CreateDirectoryResponse: MessageFns; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type DeepPartial = T extends Builtin ? T : T extends Long ? string | number | Long : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; interface MessageFns { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create, I>>(base?: I): T; fromPartial, I>>(object: I): T; } export {};