import * as t from 'io-ts';
export declare const TARGET_CONFIG_FILE_NAME = "alwaysai.target.json";
declare const targetConfigCodec: t.TaggedUnionC<"protocol", [t.TypeC<{
    protocol: t.LiteralC<"docker:">;
}>, t.TypeC<{
    protocol: t.LiteralC<"ssh+docker:">;
    hostname: t.StringC;
    path: t.StringC;
}>]>;
export declare type TargetConfig = t.TypeOf<typeof targetConfigCodec>;
export declare const targetConfigFile: {
    readSpawner: () => import("../spawner/types").Spawner;
    describe: () => string;
    path: string;
    read: () => {
        protocol: "docker:";
    } | {
        protocol: "ssh+docker:";
        hostname: string;
        path: string;
    };
    readIfExists: () => {
        protocol: "docker:";
    } | {
        protocol: "ssh+docker:";
        hostname: string;
        path: string;
    } | undefined;
    write: (config: {
        protocol: "docker:";
    } | {
        protocol: "ssh+docker:";
        hostname: string;
        path: string;
    }) => {
        serialized: string;
        changed: boolean;
    };
    remove: () => {
        changed: boolean;
    };
    update: (updater: (config: {
        protocol: "docker:";
    } | {
        protocol: "ssh+docker:";
        hostname: string;
        path: string;
    }) => void) => {
        serialized: string;
        changed: boolean;
    };
    exists: () => boolean;
};
export {};
//# sourceMappingURL=target-config-file.d.ts.map