import { AuthSession, AuthTokens, FetchAuthSessionOptions, LibraryOptions, ResourcesConfig } from '@aws-amplify/core'; import { AmplifyOutputsUnknown, LegacyConfig } from '@aws-amplify/core/internals/utils'; /** * The `Amplify` singleton facade provides the v6-compatible, global-state * `configure()` / `getConfig()` API. It builds a branded, frozen * {@link AmplifyContext}, publishes it as the global context (so category APIs * can be called without an explicit context argument), and dispatches the * `configure` Hub event that side effects such as auth's OAuth listener depend * on. * * @example * ```ts * import { Amplify } from 'aws-amplify'; * import config from './amplifyconfiguration.json'; * * Amplify.configure(config); * ``` */ export declare const Amplify: { /** * Configures Amplify with the {@link resourceConfig} and {@link libraryOptions}, * publishing the resulting branded context as the global {@link AmplifyContext}. * * If `libraryOptions` is omitted on a reconfigure, the previously configured * non-Auth `libraryOptions` are preserved (mirroring the previous singleton * merge behavior); when provided they replace the previous ones. When * `resourceConfig.Auth` is present and the caller does not supply * `libraryOptions.Auth`, the default Cognito token/credentials providers are * wired using cookie storage (`ssr: true`) or `localStorage` (default), and * the singleton token provider's auth config is re-synced on every call so a * reconfigure with a new `userPoolId` retargets token refresh. * * @param resourceConfig The {@link ResourcesConfig} object that is typically imported from the * `amplifyconfiguration.json` / `amplify_outputs.json` file. It can also be an object literal * created inline when calling `Amplify.configure`. * @param libraryOptions The {@link LibraryOptions} additional options for the library. * * @example * import config from './amplifyconfiguration.json'; * * Amplify.configure(config); */ configure(resourceConfig: ResourcesConfig | LegacyConfig | AmplifyOutputsUnknown, libraryOptions?: LibraryOptions): void; /** * Returns the {@link ResourcesConfig} object passed in as the `resourceConfig` parameter when * calling `Amplify.configure`. * * If `configure()` has not been called yet, this warns and returns an empty * config object (`{}`) rather than throwing, preserving the historical * pre-context singleton behavior that callers (and release-gating e2e tests) * depend on. * * @returns An {@link ResourcesConfig} object. */ getConfig(): ResourcesConfig; /** * Fetches the current auth session from the global context. * * @throws If `configure()` has not been called yet. */ fetchAuthSession(options?: FetchAuthSessionOptions): Promise; /** * Clears cached credentials in the global context. * * @throws If `configure()` has not been called yet. */ clearCredentials(): Promise; /** * Fetches auth tokens from the global context. * * @throws If `configure()` has not been called yet. */ getTokens(options: FetchAuthSessionOptions): Promise; };