/// /// import { ArchiveFileInfo, ArchivesConfig, ArchivesSyncStatus, FindConfig, SourceConfig } from "../IArchives"; import { ActiveBucketInfo, ServerBucketInfo } from "./storageServerState"; import { MachineState } from "../../security/machines/machines"; import { AccessTotals, AccessSummaryState } from "./accessStats"; import { LogFileInfo } from "../StreamingLogs"; import type { SummaryEntry } from "../../treeSummary"; export declare const REMOTE_STORAGE_CLASS_GUID = "RemoteStorageController-b7e42a91"; export declare const STORAGE_AUTH_PURPOSE = "remoteStorage-auth-1"; export declare const STORAGE_NOT_AUTHENTICATED = "REMOTE_STORAGE_NOT_AUTHENTICATED_cf2f7b1e"; export declare const STORAGE_ACCESS_DENIED = "REMOTE_STORAGE_ACCESS_DENIED_9d81a4c0"; export type AuthTokenData = { purpose: string; time: number; server: string; }; export type AuthToken = { certPem: string; issuerPem: string; signature: string; data: AuthTokenData; }; export type AccessState = { machineId: string; ip: string; hasAccess: boolean; reason?: string; trustedMachines?: MachineState[]; }; export declare function broadcastRoutingChanged(): void; export declare const RemoteStorageController: import("socket-function/SocketFunctionTypes").SocketRegistered<{ ping: () => Promise<{}>; authenticate: (token: AuthToken) => Promise<{ machineId: string; ip: string; }>; getAccessState: (config: { account: string; }) => Promise; adminListActiveBuckets: () => Promise<{ account: string; bucketName: string; }[]>; get2: (config: { account: string; bucketName: string; path: string; sourceConfig: SourceConfig; range?: { start: number; end: number; }; internal?: boolean; includeTombstones?: boolean; includeMarked?: boolean; }) => Promise<{ data: Buffer; writeTime: number; size: number; } | undefined>; set: (config: { account: string; bucketName: string; path: string; data: Buffer; sourceConfig: SourceConfig; lastModified?: number; forceSetImmutable?: boolean; internal?: boolean; undelete?: boolean; }) => Promise; del: (config: { account: string; bucketName: string; path: string; sourceConfig: SourceConfig; lastModified?: number; internal?: boolean; }) => Promise; move: (config: { account: string; bucketName: string; fromPath: string; toPath: string; sourceConfig: SourceConfig; }) => Promise; getInfo: (config: { account: string; bucketName: string; path: string; sourceConfig: SourceConfig; includeTombstones?: boolean; }) => Promise<{ writeTime: number; size: number; } | undefined>; findInfo: (config: FindConfig & { account: string; bucketName: string; prefix: string; sourceConfig: SourceConfig; }) => Promise; getChangesAfter2: (config: { account: string; bucketName: string; sourceConfig: SourceConfig; time: number; routes?: [number, number][]; internal?: boolean; }) => Promise; getArchivesConfig: (config: { account: string; bucketName: string; }) => Promise; listBuckets: (config: { account: string; }) => Promise; getActiveBucket: (config: { account: string; bucketName: string; }) => Promise; activateBucket: (config: { account: string; bucketName: string; }) => Promise; clearWriteStats: (config: { account: string; }) => Promise<{ clearedBuckets: number; }>; getAccessStats: (config: { account: string; }) => Promise; getAccessSummaries: (config: { account: string; operation: string; maxCount: number; weightBySize?: boolean; }) => Promise[]>; getIndexInfo: (config: { account: string; bucketName: string; }) => Promise<{ fileCount: number; byteCount: number; sources: { debugName: string; fileCount: number; byteCount: number; }[]; } | undefined>; getSyncStatus: (config: { account: string; bucketName: string; }) => Promise; listLogFiles: (config: { account: string; }) => Promise; getLogFile: (config: { account: string; name: string; }) => Promise; startLargeFile: (config: { account: string; bucketName: string; path: string; sourceConfig: SourceConfig; lastModified?: number; forceSetImmutable?: boolean; noChecks?: boolean; internal?: boolean; }) => Promise; uploadPart: (config: { uploadId: string; data: Buffer; offset?: number; }) => Promise; finishLargeFile: (config: { uploadId: string; }) => Promise; cancelLargeFile: (config: { uploadId: string; }) => Promise; httpEntry: (config?: { requireCalls?: string[]; cacheTime?: number; }) => Promise; }>;