/// <reference types="node" />
import { ClientAPI } from 'contentful-management/dist/typings/create-contentful-api';
import { Environment } from 'contentful-management/dist/typings/entities/environment';
import { Stream } from 'stream';
import { AssetId, AssetInfo } from '../../cms';
import { ManageContext } from '../../manage-cms/manage-context';
import * as nlp from '../../nlp';
import { ContentfulOptions } from '../../plugin';
export declare class ManageContentfulAsset {
    readonly options: ContentfulOptions;
    readonly manage: ClientAPI;
    readonly environment: Promise<Environment>;
    constructor(options: ContentfulOptions, manage: ClientAPI, environment: Promise<Environment>);
    removeAssetFile(context: ManageContext, assetId: AssetId): Promise<void>;
    copyAssetFile(context: ManageContext, assetId: AssetId, fromLocale: nlp.Locale): Promise<void>;
    removeAsset(_context: ManageContext, assetId: AssetId): Promise<void>;
    createAsset(context: ManageContext, file: string | ArrayBuffer | Stream, info: AssetInfo): Promise<{
        id: string;
        url?: string;
    }>;
    private writeAsset;
}
