import type { SAMLProfile } from '@boxyhq/saml20/dist/typings'; import type { Storable, SAMLSSORecord, OIDCSSORecord, IdentityFederationApp, SSOTracesInstance, SSOTrace, JacksonOptionWithRequiredLogger } from '../typings'; export declare class SSOHandler { private connection; private session; private opts; constructor({ connection, session, opts, }: { connection: Storable; session: Storable; opts: JacksonOptionWithRequiredLogger; }); resolveConnection(params: { authFlow: 'oauth' | 'saml' | 'idp-initiated'; originalParams: Record; tenant?: string; product?: string; entityId?: string; iss?: string; idp_hint?: string; idFedAppId?: string; fedType?: string; thirdPartyLogin?: { idpInitiatorType?: 'oidc' | 'saml'; iss?: string; target_link_uri?: string; }; tenants?: string[]; ssoTraces?: { instance: SSOTracesInstance; context: SSOTrace['context']; }; }): Promise<{ connection: SAMLSSORecord | OIDCSSORecord; } | { redirectUrl: string; } | { postForm: string; }>; createSAMLRequest({ connection, requestParams, mappings, }: { connection: SAMLSSORecord; requestParams: Record; mappings: IdentityFederationApp['mappings']; }): Promise<{ redirect_url: any; authorize_form: any; }>; createOIDCRequest({ connection, requestParams, mappings, includeOidcTokensInAssertion, ssoTraces, }: { connection: OIDCSSORecord; requestParams: Record; mappings: IdentityFederationApp['mappings']; includeOidcTokensInAssertion?: boolean; ssoTraces: { instance: SSOTracesInstance; context: SSOTrace['context']; }; }): Promise<{ redirect_url: string; authorize_form: null; }>; createSAMLResponse: ({ profile, session }: { profile: SAMLProfile; session: any; }) => Promise<{ responseForm: string; }>; private createSession; }