import * as t from 'io-ts';
import { rpcCreateModelVersionArg0Codec } from '@alwaysai/cloud-api';
export declare type ModelJson = t.TypeOf<typeof rpcCreateModelVersionArg0Codec>;
export declare function ModelJsonFile(dir: string): {
    path: string;
    read: () => {
        accuracy: string;
        dataset: string;
        description: string;
        id: string;
        inference_time: number | null;
        license: string;
        mean_average_precision_top_1: number | null;
        mean_average_precision_top_5: number | null;
        model_parameters: any;
        public: boolean;
        website_url: string;
        primary_information: any;
        secondary_information: any;
        device_support: any;
    };
    readIfExists: () => {
        accuracy: string;
        dataset: string;
        description: string;
        id: string;
        inference_time: number | null;
        license: string;
        mean_average_precision_top_1: number | null;
        mean_average_precision_top_5: number | null;
        model_parameters: any;
        public: boolean;
        website_url: string;
        primary_information: any;
        secondary_information: any;
        device_support: any;
    } | undefined;
    readRaw: () => string;
    readParsed: () => any;
    write: (config: {
        accuracy: string;
        dataset: string;
        description: string;
        id: string;
        inference_time: number | null;
        license: string;
        mean_average_precision_top_1: number | null;
        mean_average_precision_top_5: number | null;
        model_parameters: any;
        public: boolean;
        website_url: string;
        primary_information: any;
        secondary_information: any;
        device_support: any;
    }) => {
        serialized: string;
        changed: boolean;
    };
    writeRaw: (serialized: string) => {
        changed: boolean;
    };
    remove: () => {
        changed: boolean;
    };
    update: (updater: (config: {
        accuracy: string;
        dataset: string;
        description: string;
        id: string;
        inference_time: number | null;
        license: string;
        mean_average_precision_top_1: number | null;
        mean_average_precision_top_5: number | null;
        model_parameters: any;
        public: boolean;
        website_url: string;
        primary_information: any;
        secondary_information: any;
        device_support: any;
    }) => void) => {
        serialized: string;
        changed: boolean;
    };
    exists: () => boolean;
    initialize: () => void;
};
//# sourceMappingURL=model-json-file.d.ts.map