import { type Request, type Response } from 'express'; import { AdminService } from '../services/admin.service'; import { type NestAuthConfig } from '..'; export declare class AdminController { private adminService; private adminConfig; constructor(adminService: AdminService, adminConfig: NestAuthConfig); login(body: any, res: Response): Promise; logout(req: Request, res: Response): Promise; getCurrentAdmin(req: Request): Promise<{ admin: Request; }>; listAdmins(page?: string, limit?: string): Promise<{ admins: import("../../../admin").InternalAdmin[]; total: number; page: number; limit: number; }>; getAdmin(id: string): Promise; createAdmin(body: any, req: Request): Promise; updateAdmin(id: string, body: any, req: Request): Promise; deleteAdmin(id: string, req: Request): Promise; getAuditLogs(adminId?: string, page?: string, limit?: string): Promise<{ logs: any[]; total: number; page: number; limit: number; }>; getAuthConfig(): Promise<{ enabledProviders: string[]; authPolicy: { emailVerificationRequired: boolean; passwordReset: boolean; passwordChange: boolean; accountDeletion: boolean; smsVerificationRequired: boolean; loginAfterRegistration: boolean; }; passwordPolicy: { minLength: number; requireUppercase: boolean; requireLowercase: boolean; requireNumber: boolean; requireSpecialChar: boolean; maxAttempts: number; }; sessionSettings: { accessTokenTTL: string; refreshTokenTTL: string; tokenRotation: boolean; multipleSessions: boolean; }; mfaSettings: { required: boolean; allowedMethods: ("totp" | "sms" | "email")[]; }; adminFeature: { enabled: boolean; createInitialApiKey: boolean; initialApiKeyName: string; initialApiKeyScopes: string[]; }; rateLimiting: Record; id?: number | undefined; }>; updateAuthConfig(config: any, req: Request): Promise<{ enabledProviders: string[]; authPolicy: { emailVerificationRequired: boolean; passwordReset: boolean; passwordChange: boolean; accountDeletion: boolean; smsVerificationRequired: boolean; loginAfterRegistration: boolean; }; passwordPolicy: { minLength: number; requireUppercase: boolean; requireLowercase: boolean; requireNumber: boolean; requireSpecialChar: boolean; maxAttempts: number; }; sessionSettings: { accessTokenTTL: string; refreshTokenTTL: string; tokenRotation: boolean; multipleSessions: boolean; }; mfaSettings: { required: boolean; allowedMethods: ("totp" | "sms" | "email")[]; }; adminFeature: { enabled: boolean; createInitialApiKey: boolean; initialApiKeyName: string; initialApiKeyScopes: string[]; }; rateLimiting: Record; id?: number | undefined; }>; private extractToken; } //# sourceMappingURL=admin.controller.d.ts.map