/// <reference types="node" />
import fs from 'fs';
export interface IEsouiPublishBase {
    id: number;
    version?: string;
    description?: string;
    changelog?: string;
    compatibility?: string;
}
export interface IEsouiUpdateParams extends IEsouiPublishBase {
    updatefile?: string;
    testDeploy?: boolean;
}
export interface IEsouiUpdatePackage extends IEsouiPublishBase {
    updatefile?: fs.ReadStream;
}
export interface IEsouiUpdateResult {
    responseStatusCode: number;
    responseBody: any;
    params: IEsouiUpdateParams;
}
export declare class EsouiPublish {
    private readonly token;
    private readonly params;
    constructor(token: string, params: IEsouiUpdateParams);
    /**
     * Convenience method that generates the update package and performs the update to esoui.
     **/
    createUpdatePackageAndUpdate(): Promise<IEsouiUpdateResult>;
    /**
     * Generates an 'update package' that contains the info needed to update to esoui.com
     */
    createEsouiUpdatePackage(): Promise<IEsouiUpdatePackage>;
    /**
     * Performs update to esoui.
     *
     * @param updatePackage
     *
     */
    updateEsoui(updatePackage: IEsouiUpdatePackage): Promise<IEsouiUpdateResult>;
    static publish(token: string, id: number, version?: string, description?: string, changelog?: string, compatibility?: string, updateFile?: string, test?: boolean): Promise<IEsouiUpdateResult>;
    static publishFromJson(jsonFile: string): Promise<IEsouiUpdateResult>;
    private static readFile;
}
//# sourceMappingURL=index.d.ts.map