import { AmplifyContext, LibraryOptions, ResourcesConfig } from '@aws-amplify/core';
import { AmplifyOutputsUnknown, LegacyConfig } from '@aws-amplify/core/internals/utils';
/**
 * Creates a local, branded {@link AmplifyContext} from the given resource
 * configuration.
 *
 * Unlike `Amplify.configure()`, the returned context is **not** set as the
 * global context and no Hub events are dispatched. Category APIs that receive
 * this context (as their first positional argument) will use it instead of the
 * global one, enabling per-request context injection in server-side /
 * multi-tenant scenarios.
 *
 * This is the `aws-amplify`-level wrapper around
 * {@link createCoreAmplifyContext | `@aws-amplify/core`'s `createAmplifyContext`}.
 * The core factory intentionally does **not** inject default Cognito providers
 * (it sits below `@aws-amplify/auth` in the dependency graph); this wrapper
 * closes that gap by resolving and injecting **factory-style, per-context**
 * Cognito token/credentials providers when the caller does not supply their own.
 * Because each call builds fresh provider instances, contexts created here do
 * **not** share the process-wide singleton providers used by
 * `Amplify.configure()` — two contexts remain isolated from one another.
 *
 * Storage behaviour mirrors `Amplify.configure()`: tokens are persisted to
 * `localStorage` by default, or to cookies when `{ ssr: true }` is set.
 *
 * @param resourceConfig - Back-end resource configuration (typed config,
 *   legacy `aws-exports`, or Gen2 `amplify_outputs`).
 * @param libraryOptions - Optional library options (e.g. Auth token/credentials
 *   providers, `ssr`).
 * @returns A branded, frozen {@link AmplifyContext}.
 *
 * @example
 * ```ts
 * import { createAmplifyContext } from 'aws-amplify';
 * import outputs from './amplify_outputs.json';
 *
 * const ctx = createAmplifyContext(outputs);
 * // Pass ctx explicitly to category APIs:
 * await signIn(ctx, { username, password });
 * ```
 */
export declare function createAmplifyContext(resourceConfig: ResourcesConfig | LegacyConfig | AmplifyOutputsUnknown, libraryOptions?: LibraryOptions): AmplifyContext;
