import { SigningKey } from "oidc-client-ts";
import { IDelegatedAuthConfig } from "../client";
import { ValidatedIssuerMetadata } from "./validate";
/**
 * @experimental
 * Discover and validate delegated auth configuration
 * - m.authentication config is present and valid
 * - delegated auth issuer openid-configuration is reachable
 * - delegated auth issuer openid-configuration is configured correctly for us
 * When successful, validated metadata is returned
 * @param wellKnown - configuration object as returned
 * by the .well-known auto-discovery endpoint
 * @returns validated authentication metadata and optionally signing keys
 * @throws when delegated auth config is invalid or unreachable
 */
export declare const discoverAndValidateAuthenticationConfig: (authenticationConfig?: IDelegatedAuthConfig) => Promise<IDelegatedAuthConfig & {
    metadata: ValidatedIssuerMetadata;
    signingKeys?: SigningKey[] | undefined;
}>;
//# sourceMappingURL=discovery.d.ts.map