import type { CloudBillingOverview, CloudUsage, ICloudManager, ICloudUserInfo, IPicGo } from '../../types';
import { UserService } from './services/UserService';
import { AlbumService } from './services/AlbumService';
import { MultipartUploadService } from './services/multipart/MultipartUploadService';
declare class CloudManager implements ICloudManager {
    private readonly ctx;
    private readonly auth;
    private readonly billingService;
    private albumService?;
    private uploaderService?;
    private userInfoCache;
    private userInfoPromise?;
    user: UserService;
    constructor(ctx: IPicGo);
    get album(): AlbumService;
    get uploader(): MultipartUploadService;
    login(token?: string): Promise<void>;
    logout(): void;
    disposeLoginFlow(): void;
    getUserInfo(): Promise<ICloudUserInfo | null>;
    refreshUserInfo(): Promise<ICloudUserInfo | null>;
    getUsage(): Promise<CloudUsage | null>;
    getBillingOverview(): Promise<CloudBillingOverview | null>;
    setAutoImport(autoImport: boolean): Promise<ICloudUserInfo>;
    private fetchUserInfo;
    private clearUserInfoCache;
}
export { CloudManager };
