import express from 'express';
import { AuthService } from '../../../auth/auth.service';
import { AuthenticatedRequest } from '../../../requests';
import { InternalHooks } from '../../../InternalHooks';
import { UrlService } from '../../../services/url.service';
import type { SamlLoginBinding } from '../types';
import { SamlService } from '../saml.service.ee';
import { SamlConfiguration } from '../types/requests';
export declare class SamlController {
    private readonly authService;
    private readonly samlService;
    private readonly urlService;
    private readonly internalHooks;
    constructor(authService: AuthService, samlService: SamlService, urlService: UrlService, internalHooks: InternalHooks);
    getServiceProviderMetadata(_: express.Request, res: express.Response): Promise<express.Response<any, Record<string, any>>>;
    configGet(): Promise<{
        entityID: string;
        returnUrl: string;
        mapping?: import("../types/samlAttributeMapping").SamlAttributeMapping | undefined;
        metadata?: string | undefined;
        metadataUrl?: string | undefined;
        ignoreSSL?: boolean | undefined;
        loginBinding?: SamlLoginBinding | undefined;
        loginEnabled?: boolean | undefined;
        loginLabel?: string | undefined;
        authnRequestsSigned?: boolean | undefined;
        wantAssertionsSigned?: boolean | undefined;
        wantMessageSigned?: boolean | undefined;
        acsBinding?: SamlLoginBinding | undefined;
        signatureConfig?: import("samlify/types/src/types").SignatureConfig | undefined;
        relayState?: string | undefined;
    }>;
    configPost(req: SamlConfiguration.Update): Promise<import("../types/samlPreferences").SamlPreferences | undefined>;
    toggleEnabledPost(req: SamlConfiguration.Toggle, res: express.Response): Promise<express.Response<any, Record<string, any>>>;
    acsGet(req: SamlConfiguration.AcsRequest, res: express.Response): Promise<void | express.Response<any, Record<string, any>>>;
    acsPost(req: SamlConfiguration.AcsRequest, res: express.Response): Promise<void | express.Response<any, Record<string, any>>>;
    private acsHandler;
    initSsoGet(req: express.Request, res: express.Response): Promise<string | express.Response<any, Record<string, any>>>;
    configTestGet(_: AuthenticatedRequest, res: express.Response): Promise<string | express.Response<any, Record<string, any>>>;
    private handleInitSSO;
}
