import { Bucket } from '@google-cloud/storage'; import { Callback } from '@verdaccio/types'; import { Config } from '@verdaccio/types'; import { Datastore } from '@google-cloud/datastore'; import { File as File_2 } from '@google-cloud/storage'; import { Logger } from '@verdaccio/types'; import { Package } from '@verdaccio/types'; import { Query } from '@google-cloud/datastore'; import { ReadTarball } from '@verdaccio/streams'; import { RunQueryResponse } from '@google-cloud/datastore/build/src/query'; import { searchUtils } from '@verdaccio/core'; import { Token } from '@verdaccio/types'; import { TokenFilter } from '@verdaccio/types'; import { UploadTarball } from '@verdaccio/streams'; declare interface Entity { name: string; id: number; } declare interface GoogleCloudConfig extends Config { bucket: string; projectId?: string; kind?: string; keyFilename?: string; validation?: GoogleValidation; resumable?: boolean; apiEndpoint?: string; datastoreEndpoint?: string; } declare class GoogleCloudDatabase { private helper; logger: Logger; config: GoogleCloudConfig; private kind; private bucketName; constructor(config: Config, options: { logger: Logger; config: Config; }); init(): Promise; private _getGoogleOptions; private _getStorageOptions; search(...args: any[]): any; filterByQuery(results: searchUtils.SearchItemPkg[], _query: searchUtils.SearchQuery): Promise; getScore(_pkg: searchUtils.SearchItemPkg): Promise; saveToken(token: Token): Promise; deleteToken(user: string, tokenKey: string): Promise; readTokens(filter: TokenFilter): Promise; getSecret(): Promise; setSecret(secret: string): Promise; add(name: string, cb: Callback): void; remove(name: string, cb: Callback): void; get(cb: Callback): void; getPackageStorage(packageInfo: string): GoogleCloudStorageHandler; private _createClients; } export { GoogleCloudDatabase } export default GoogleCloudDatabase; export declare class GoogleCloudStorageHandler { config: GoogleCloudConfig; logger: Logger; private key; private helper; private name; constructor(name: string, helper: IStorageHelper, config: GoogleCloudConfig, logger: Logger); updatePackage(name: string, updateHandler: Callback, onWrite: Callback, transformPackage: (...args: any[]) => any, onEnd: Callback): void; deletePackage(fileName: string, cb: Callback): void; removePackage(callback: Callback): void; createPackage(name: string, metadata: Package, cb: Callback): void; savePackage(name: string, value: Package, cb: Callback): void; private _savePackage; private _convertToString; readPackage(name: string, cb: Callback): void; private _fileExist; private _readPackage; writeTarball(name: string): UploadTarball; readTarball(name: string): ReadTarball; } declare type GoogleValidation = boolean | string; declare interface IStorageHelper { datastore: Datastore; createQuery(key: string, valueQuery: string): Query; runQuery(query: Query): Promise; getEntities(key: string): Promise; getBucket(): Bucket; buildFilePath(name: string, fileName: string): File_2; } export { }