import { Manifest } from "../manifest";
import { Registry } from "../registry";
import { TrmArtifact } from "./TrmArtifact";
import { DEVCLASS } from "../client";
import { R3transOptions } from "node-r3trans";
export declare const DEFAULT_VERSION: string;
export declare class TrmPackage {
    packageName: string;
    registry: Registry;
    manifest?: Manifest;
    private _userAuthorizations;
    private _canPublishReleasesCause;
    private _remoteArtifacts;
    private _remoteContent;
    private _devclass;
    constructor(packageName: string, registry: Registry, manifest?: Manifest);
    setDevclass(devclass: DEVCLASS): TrmPackage;
    getDevclass(): DEVCLASS;
    exists(version?: string): Promise<boolean>;
    canPublishReleases(): Promise<{
        canPublishReleases: boolean;
        cause?: string;
    }>;
    fetchRemoteArtifact(version?: string): Promise<TrmArtifact>;
    fetchRemoteManifest(version?: string): Promise<Manifest>;
    fetchRemoteContent(version?: string, r3transConfig?: R3transOptions): Promise<any>;
    publish(data: {
        artifact: TrmArtifact;
        readme?: string;
    }): Promise<TrmPackage>;
    compareRegistry(registry: Registry): boolean;
    compareName(name: string): boolean;
    private _viewLatest;
    static create(manifest: Manifest, registry: Registry): Promise<TrmPackage>;
    static compare(o1: TrmPackage, o2: TrmPackage): boolean;
    static normalizeVersion(packageName: string, version: string, registry: Registry): Promise<string>;
}
