import type { CID } from "multiformats/cid";
import { FileInfo, FileHeader, PutDetails } from "../protocol/public/types.js";
import { FileContent } from "../../ipfs/index.js";
import BaseFile from "../base/file.js";
import PublicHistory from "./PublicHistory.js";
import { Maybe } from "../../common/index.js";
declare type ConstructorParams = {
    cid: Maybe<CID>;
    content: FileContent;
    header: FileHeader;
};
export declare class PublicFile extends BaseFile {
    cid: Maybe<CID>;
    header: FileHeader;
    history: PublicHistory;
    constructor({ content, header, cid }: ConstructorParams);
    static instanceOf(obj: unknown): obj is PublicFile;
    static create(content: FileContent): Promise<PublicFile>;
    static fromCID(cid: CID): Promise<PublicFile>;
    static fromInfo(info: FileInfo, cid: CID): Promise<PublicFile>;
    putDetailed(): Promise<PutDetails>;
}
export default PublicFile;
