## API Report File for "@aws-amplify/amplify-environment-parameters"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { IAmplifyResource } from '@aws-amplify/amplify-cli-core';

// @public (undocumented)
export const cloneEnvParamManager: (srcEnvParamManager: IEnvironmentParameterManager, destEnvName: string) => Promise<void>;

// @public (undocumented)
export const ensureEnvParamManager: (envName?: string) => Promise<{
    instance: IEnvironmentParameterManager;
}>;

// @public (undocumented)
export const getEnvParamManager: (envName?: string) => IEnvironmentParameterManager;

// @public (undocumented)
export type IEnvironmentParameterManager = {
    cloneEnvParamsToNewEnvParamManager: (destManager: IEnvironmentParameterManager) => Promise<void>;
    downloadParameters: (downloadHandler: ServiceDownloadHandler) => Promise<void>;
    getMissingParameters: (resourceFilterList?: IAmplifyResource[]) => Promise<{
        categoryName: string;
        resourceName: string;
        parameterName: string;
    }[]>;
    getResourceParamManager: (category: string, resource: string) => ResourceParameterManager;
    hasResourceParamManager: (category: string, resource: string) => boolean;
    init: () => Promise<void>;
    removeResourceParamManager: (category: string, resource: string) => void;
    save: (serviceUploadHandler?: ServiceUploadHandler) => Promise<void>;
    verifyExpectedEnvParameters: (resourceFilterList?: IAmplifyResource[], appId?: string, envName?: string) => Promise<void>;
};

// @public (undocumented)
export class ResourceParameterManager {
    // (undocumented)
    deleteParam(name: string): void;
    // (undocumented)
    getAllParams(): Readonly<Record<string, string>>;
    // (undocumented)
    getParam(name: string): string | undefined;
    // (undocumented)
    hasAnyParams(): boolean;
    // (undocumented)
    hasParam(name: string): boolean;
    // (undocumented)
    setAllParams(params: Record<string, string>): void;
    // (undocumented)
    setParam(name: string, value: string): void;
    // (undocumented)
    setParams(params: Record<string, string>): void;
}

// @public (undocumented)
export const saveAll: (serviceUploadHandler?: ServiceUploadHandler) => Promise<void>;

// @public (undocumented)
export type ServiceDownloadHandler = (parameters: string[]) => Promise<Record<string, string | number | boolean>>;

// @public (undocumented)
export type ServiceUploadHandler = (key: string, value: string | number | boolean) => Promise<void>;

// (No @packageDocumentation comment for this package)

```
