///
import { ISimpleBuilder } from 'webext-buildtools-builder-types';
import { AbstractSimpleBuilder, IManifestObject } from 'webext-buildtools-utils';
import { IChromeCrxOptions } from '../declarations/options';
import { ChromeCrxBuildResult } from './buildResult';
import { CrxWrapper } from './crxWrapper';
/**
* ISimpleBuilder wrapper of crx package
*/
export declare class ChromeCrxBuilder extends AbstractSimpleBuilder implements ISimpleBuilder {
static readonly TARGET_NAME = "chrome-zip2crx";
protected _inputZipBuffer?: Buffer;
protected _inputManifest?: IManifestObject;
protected _crxFileRequirement?: boolean;
protected _isCrxBufferRequired: boolean;
protected _updateXmlFileRequirement?: boolean;
protected _isUpdateXmlBufferRequired: boolean;
getTargetName(): string;
setInputZipBuffer(buffer: Buffer): this;
setInputManifest(manifest: IManifestObject): this;
/**
* this.setInputZipBuffer() should be called before build
*/
requireCrxFile(temporary?: boolean): this;
/**
* this.setInputZipBuffer() should be called before build
*/
requireCrxBuffer(): this;
/**
* this.setInputManifest() should be called before build
*/
requireUpdateXmlFile(temporary?: boolean): this;
/**
* this.setInputManifest() should be called before build
*/
requireUpdateXmlBuffer(): this;
build(): Promise;
protected buildCrx(result: ChromeCrxBuildResult, crxWrapper: CrxWrapper): Promise;
protected buildUpdateXml(result: ChromeCrxBuildResult, crxWrapper: CrxWrapper): Promise;
protected validateOptions(): void;
protected createCrxWrapper(): Promise;
protected isOutputUpdateXmlRequired(): boolean;
protected isOutputCrxRequired(): boolean;
}