import { AwsRegion } from "common-types"; import { NotDefined } from "./general"; import { PackageManagerObservation, TestObservation } from "./observations"; export interface IGeneralConfig { /** * General/shared configuraiton across commands */ general: { /** * the default package manager to use if other means aren't * available to determine. */ pkgManager?: PackageManagerObservation; /** * A default AWS _region_ to use for if other means fail to identify * the region. */ defaultAwsRegion?: AwsRegion; /** * A default _profile_ to use for AWS if other means fail to identify * the profile name. */ defaultAwsProfile?: string; }; } export interface ICommandConfig { autoindex?: {}; awsid?: {}; build?: {}; deploy?: {}; endpoints?: {}; fns?: {}; info?: {}; invoke?: {}; latest?: {}; layers?: {}; pkg?: {}; ssm?: {}; test?: { unitTestFramework: TestObservation; }; } export declare type IProjectConfigFilled = { kind: "project"; /** indicates whether the project config file exists */ projectConfig: true; } & ICommandConfig & IGeneralConfig; export declare type IProjectConfigUnfilled = { kind: "project"; projectConfig: false; } & NotDefined & NotDefined; export declare type IProjectConfig = IProjectConfigFilled | IProjectConfigUnfilled; export declare type IUserConfigFilled = { kind: "user"; /** indicates whether the user config file exists */ userConfig: true; } & ICommandConfig & IGeneralConfig; export declare type IUserConfigUnfilled = { kind: "user"; userConfig: false; } & NotDefined & NotDefined; export declare type IUserConfig = IUserConfigFilled | IUserConfigUnfilled; export declare type IIntegratedConfig = { kind: "integrated"; ready: boolean; } & Omit & Omit; export declare type IDoConfig = IUserConfigFilled | IProjectConfigFilled | IIntegratedConfig; export declare function configIsReady(config: unknown): config is IDoConfig; //# sourceMappingURL=config-types.d.ts.map