import { ExifTagSet } from "../utils/ExifUtils";
import { IOutputter } from "../utils/output/IOutputter";
import { SimpleDate } from "../utils/SimpleDate";
import { Dimensions } from "./Dimensions";
import { ImageLocation } from "./ImageLocation";
export declare class ImageProperties {
    readonly imagePath: string;
    readonly topLabels: string[];
    readonly exif: ExifTagSet;
    readonly dimensions: Dimensions | null;
    readonly fileSizeMb: number | null;
    readonly location: ImageLocation | null;
    static withFileSizeMb(properties: ImageProperties, fileSizeMb: number): ImageProperties;
    static withLocation(properties: ImageProperties, location: ImageLocation): ImageProperties;
    static withTopLabels(properties: ImageProperties, topLabels: string[]): ImageProperties;
    constructor(imagePath: string, topLabels?: string[], exif?: ExifTagSet, dimensions?: Dimensions | null, fileSizeMb?: number | null, location?: ImageLocation | null);
    get fileSizeMbText(): string;
    private _getFileSizeMbText;
    private roundToFewPlaces;
    private addSizeSuffix;
    get imageFilename(): string;
    modificationDate(outputter: IOutputter): SimpleDate;
    get topLabel(): string;
}
