import { ResourceGroup } from '@azure/arm-resources'; import * as t from 'typanion'; export declare const defaultConfigFile = "bicep-assets-config.yaml"; export declare const isSubscription: t.StrictValidator; export declare const isResourceGroup: t.StrictValidator; export declare const isAssetConfiguration: t.StrictTest> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}> & t.Trait> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}> & { properties: { path: t.StrictValidator; name: t.StrictValidator; plugin: t.StrictValidator; }; }; export declare const isConfiguration: t.StrictTest> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}))[] | undefined; }, "resourcePrefix" | "assets">> & Pick<{ subscription: string; resourceGroup: string; storageAccountName: string; resourcePrefix: string | undefined; assets: (string | (Partial> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}))[] | undefined; }, "subscription" | "resourceGroup" | "storageAccountName"> & {}> & t.Trait> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}))[] | undefined; }, "resourcePrefix" | "assets">> & Pick<{ subscription: string; resourceGroup: string; storageAccountName: string; resourcePrefix: string | undefined; assets: (string | (Partial> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}))[] | undefined; }, "subscription" | "resourceGroup" | "storageAccountName"> & {}> & { properties: { subscription: t.StrictValidator; resourceGroup: t.StrictValidator; storageAccountName: t.StrictValidator; resourcePrefix: t.StrictValidator; assets: t.StrictValidator> & Pick<{ path: string; name: string | undefined; plugin: string | undefined; }, "path"> & {}))[] | undefined>; }; }; export type ConfigurationOptions = t.InferType; export type DefinedConfig = Required; type PartialConfig = Partial; export interface AssetDefinition { path: string; plugin: string; name: string; } export declare function makeDefined(config: ConfigurationOptions): DefinedConfig; export declare function loadConfig(): Promise; export declare function saveConfig(config: Configuration, cwd?: string): Promise; export declare class Configuration { subscription: string; resourceGroup: string; storageAccountName: string; assets: AssetDefinition[]; constructor(options: DefinedConfig); private sanitizedName; static load(interactive: boolean, reevaluate?: boolean): Promise; static lookupSubscription(current?: PartialConfig): Promise; static lookupResourceGroup(subscriptionId: string, current?: PartialConfig): Promise; } export {};