import { AuthConfig, AuthSession, AuthTokens, FetchAuthSessionOptions, LibraryAuthOptions } from './types';
export declare class AuthClass {
    private authConfig?;
    private authOptions?;
    /**
     * Configure Auth category
     *
     * @internal
     *
     * @param authResourcesConfig - Resources configurations required by Auth providers.
     * @param authOptions - Client options used by library
     *
     * @returns void
     */
    configure(authResourcesConfig: AuthConfig, authOptions?: LibraryAuthOptions): void;
    /**
     * Fetch the auth tokens, and the temporary AWS credentials and identity if they are configured. By default it
     * will automatically refresh expired auth tokens if a valid refresh token is present. You can force a refresh
     * of non-expired tokens with `{ forceRefresh: true }` input.
     *
     * @param options - Options configuring the fetch behavior.
     *
     * @returns Promise of current auth session {@link AuthSession}.
     */
    fetchAuthSession(options?: FetchAuthSessionOptions): Promise<AuthSession>;
    clearCredentials(): Promise<void>;
    getTokens(options: FetchAuthSessionOptions): Promise<AuthTokens | undefined>;
}
