/**
 * type: `CrendentialForAWS`
 * - common interface for AWS credentials.
 * - used for `AWS.config.credentials` or `AWS.Credentials`
 */
export interface CrendentialForAWS {
    /**
     * AWS access key ID
     */
    readonly accessKeyId: string;
    /**
     * AWS secret access key
     */
    readonly secretAccessKey: string;
    /**
     * A security or session token to use with these credentials. Usually
     * present for temporary credentials.
     */
    readonly sessionToken?: string;
    /** (optional) the loaded profile name if applicable */
    readonly profile?: string;
}
/**
 * type: `EnvironmentSet`
 * - common interface for environment variables.
 */
export interface EnvironmentSet {
    [key: string]: string;
    ENV?: string;
    STAGE?: string;
    ENV_PATH?: string;
}
/**
 * (only for dev) loader `<profile>.yml`
 *
 * **Determine Environ Target**
 * 1. ENV 로부터, 로딩할 `env.yml` 파일을 지정함.
 * 2. STAGE 로부터, `env.yml`내 로딩할 환경 그룹을 지정함.
 *
 * example:
 * `$ ENV=lemon STAGE=dev nodemon express.js --port 8081`
 *
 * @param process the main process instance.
 * @param options (optional) default option.
 *
 * @deprecated use `loadEnviron()` from `lemon-devkit` instead.
 */
export declare const loadEnviron: (process?: any, options?: EnvironmentSet) => EnvironmentSet;
/**
 * (only for dev) load AWS credential profile via `env.NAME`
 *
 * NOTE! ONLY FOR development purpose.
 *
 * ```sh
 * # load AWS 'lemon' profile, and run test.
 * $ NAME=lemon npm run test
 * ````
 * @param $proc     process (default `global.process`)
 * @param options   (optional) parameters.
 * @returns {Promise<string>} - loaded profile name.
 */
export declare const loadProfile: ($proc?: {
    env?: any;
}, options?: any) => Promise<string>;
/**
 * (only for dev) dynamic loading credentials by profile. (search PROFILE -> NAME)
 *
 * @deprecated use `asyncCredentials` instead.
 */
export declare const credentials: (profile: string) => CrendentialForAWS;
export default loadEnviron;
