import { Profile, AuthenticationOptions, DelegationOptions, ValidationOptions, AuthenticationResponseMetadata, SamlRequestMetadata } from "./types"; declare class SamlLogin { private requestIdExpirationPeriodMs; generateDelegationUrl(options: DelegationOptions): Promise; generateAuthenticationUrl(options: AuthenticationOptions): Promise; validateSignature(fullXml: string, currentNode: Element, certs: string[]): boolean; parseSamlRequestMetadata(samlEncodedBody: string): Promise; getSamlAssertionMetadata(samlEncodedBody: string): Promise; validatePostResponse(options: ValidationOptions, samlEncodedBody: string): Promise<{ profile?: Profile | null; loggedOut?: boolean; }>; private processValidlySignedAssertion; private checkTimestampsValidityError; private checkAudienceValidityError; /** * Process max age assertion and use it if it is more restrictive than the NotOnOrAfter age * assertion received in the SAMLResponse. * * @param maxAssertionAgeMs Max time after IssueInstant that we will accept assertion, in Ms. * @param notOnOrAfter Expiration provided in response. * @param issueInstant Time when response was issued. * @returns {*} The expiration time to be used, in Ms. */ private processMaxAgeAssertionTime; } export default SamlLogin;