import { MultiSamlStrategy, type SamlConfig } from '@node-saml/passport-saml'; import type { AuthenticateOptions } from '@node-saml/passport-saml/lib/types'; import type { Request } from 'express'; import type { IDPConfig, SamlSpidProfile, SpidConfig } from './types'; export type VerifiedCallback = (err: Error | null, user?: Record, info?: Record) => void; export type VerifyWithRequest = (req: Request, profile: SamlSpidProfile | null | undefined, done: VerifiedCallback) => void; export type VerifyWithoutRequest = (profile: SamlSpidProfile | null | undefined, done: VerifiedCallback) => void; export declare class SpidStrategy extends MultiSamlStrategy { private idps; private _spidConfig; constructor(config: SpidConfig, signonVerify: VerifyWithRequest, logoutVerify: VerifyWithRequest); constructor(config: SpidConfig, signonVerify: VerifyWithoutRequest, logoutVerify: VerifyWithoutRequest); protected getSpidConfig(): SpidConfig; authenticate(req: Request, options: AuthenticateOptions): void; getIDPS(): IDPConfig[]; private _loadIDPS; _getSpidSamlOptions(req: Request): Promise; generateSpidServiceProviderMetadata(): Promise; }