import * as t from 'io-ts';
export declare const APP_CONFIG_FILE_NAME = "alwaysai.app.json";
declare const codec: t.PartialC<{
    models: t.RecordC<t.StringC, t.StringC>;
    scripts: t.RecordC<t.StringC, t.StringC>;
}>;
export declare type AppConfig = t.TypeOf<typeof codec>;
export declare function AppConfigFile(dir?: string): {
    addModel(id: string, version: string): {
        serialized: string;
        changed: boolean;
    };
    removeModel(id: string): {
        serialized: string;
        changed: boolean;
    };
    describeModels(): string;
    describeScripts(): string;
    path: string;
    read: () => {
        models?: {
            [x: string]: string;
        } | undefined;
        scripts?: {
            [x: string]: string;
        } | undefined;
    };
    readIfExists: () => {
        models?: {
            [x: string]: string;
        } | undefined;
        scripts?: {
            [x: string]: string;
        } | undefined;
    } | undefined;
    write: (config: {
        models?: {
            [x: string]: string;
        } | undefined;
        scripts?: {
            [x: string]: string;
        } | undefined;
    }) => {
        serialized: string;
        changed: boolean;
    };
    remove: () => {
        changed: boolean;
    };
    update: (updater: (config: {
        models?: {
            [x: string]: string;
        } | undefined;
        scripts?: {
            [x: string]: string;
        } | undefined;
    }) => void) => {
        serialized: string;
        changed: boolean;
    };
    exists: () => boolean;
};
export declare const appConfigFile: {
    addModel(id: string, version: string): {
        serialized: string;
        changed: boolean;
    };
    removeModel(id: string): {
        serialized: string;
        changed: boolean;
    };
    describeModels(): string;
    describeScripts(): string;
    path: string;
    read: () => {
        models?: {
            [x: string]: string;
        } | undefined;
        scripts?: {
            [x: string]: string;
        } | undefined;
    };
    readIfExists: () => {
        models?: {
            [x: string]: string;
        } | undefined;
        scripts?: {
            [x: string]: string;
        } | undefined;
    } | undefined;
    write: (config: {
        models?: {
            [x: string]: string;
        } | undefined;
        scripts?: {
            [x: string]: string;
        } | undefined;
    }) => {
        serialized: string;
        changed: boolean;
    };
    remove: () => {
        changed: boolean;
    };
    update: (updater: (config: {
        models?: {
            [x: string]: string;
        } | undefined;
        scripts?: {
            [x: string]: string;
        } | undefined;
    }) => void) => {
        serialized: string;
        changed: boolean;
    };
    exists: () => boolean;
};
export {};
//# sourceMappingURL=app-config-file.d.ts.map