/// <reference types="node" />
import { AttributeInfo } from '../internal/attributeInfo';
import { ModelInterface } from './modelInterface';
import { Readable } from "stream";
import { Encryptor } from '../api';
export declare const importsMapFileReference: {};
export declare class FileReference implements ModelInterface {
    /**
     * Attribute type map
     */
    static attributeTypeMap: Array<AttributeInfo>;
    /**
     * Returns attribute type map
     */
    static getAttributeTypeMap(): AttributeInfo[];
    private source;
    private reference;
    private password;
    private encryptedPassword;
    private content;
    private constructor();
    collectFilesContent(_resultFilesContent: Array<any>): void;
    encryptPassword(encryptor: Encryptor): Promise<void>;
    validate(): void;
    getSource(): FileReference.SourceEnum;
    getReference(): string;
    getContent(): Readable;
    static fromRemoteFilePath(remoteFilePath: string, password?: string): FileReference;
    static fromLocalFileContent(localFileContent: Readable, password?: string): FileReference;
}
export declare namespace FileReference {
    enum SourceEnum {
        Storage,
        Request
    }
}
