import * as t from 'io-ts'; export declare const Environment: t.TypeC<{ apparatus: t.StringC; definition: t.UnknownC; endpoint: t.UnionC<[t.UndefinedC, t.StringC]>; envs: t.UnionC<[t.UndefinedC, t.RecordC]>; labels: t.UnionC<[t.UndefinedC, t.RecordC]>; open: t.UnionC<[t.UndefinedC, t.BooleanC]>; }>; export declare type Environment = t.TypeOf; export declare const Environments: t.RecordC; envs: t.UnionC<[t.UndefinedC, t.RecordC]>; labels: t.UnionC<[t.UndefinedC, t.RecordC]>; open: t.UnionC<[t.UndefinedC, t.BooleanC]>; }>>; export declare type Environments = t.TypeOf; export declare const Service: t.TypeC<{ default: t.UnionC<[t.UndefinedC, t.StringC]>; environments: t.RecordC; envs: t.UnionC<[t.UndefinedC, t.RecordC]>; labels: t.UnionC<[t.UndefinedC, t.RecordC]>; open: t.UnionC<[t.UndefinedC, t.BooleanC]>; }>>; labels: t.UnionC<[t.UndefinedC, t.RecordC]>; }>; export declare type Service = t.TypeOf & { cwd: string; }; export declare const Services: t.RecordC; environments: t.RecordC; envs: t.UnionC<[t.UndefinedC, t.RecordC]>; labels: t.UnionC<[t.UndefinedC, t.RecordC]>; open: t.UnionC<[t.UndefinedC, t.BooleanC]>; }>>; labels: t.UnionC<[t.UndefinedC, t.RecordC]>; }>>; export declare type Services = t.TypeOf & { [key: string]: Service; }; export declare const Config: t.TypeC<{ includes: t.UnionC<[t.UndefinedC, t.ArrayC]>; name: t.UnionC<[t.UndefinedC, t.StringC]>; services: t.RecordC; environments: t.RecordC; envs: t.UnionC<[t.UndefinedC, t.RecordC]>; labels: t.UnionC<[t.UndefinedC, t.RecordC]>; open: t.UnionC<[t.UndefinedC, t.BooleanC]>; }>>; labels: t.UnionC<[t.UndefinedC, t.RecordC]>; }>>; }>; export declare type Config = t.TypeOf; export declare class ConfigLoader { private loaded; private recursiveTemplate; private getIncludes; load(config: string | Config, cwd?: string): Config; }