import { Provider } from '@loopback/context';
import { ConfigureIdpFunc, IdpDetails, IdpResp } from '../../types';
import AWS from 'aws-sdk';
export declare const STATUS: {
    OK: number;
    NOT_FOUND: number;
};
export declare class KeycloakIdpProvider implements Provider<ConfigureIdpFunc<IdpResp>> {
    ssm: AWS.SSM;
    constructor();
    value(): ConfigureIdpFunc<IdpResp>;
    configure(payload: IdpDetails): Promise<IdpResp>;
    realmExists(realmName: string, token: string): Promise<boolean>;
    authenticateAdmin(): Promise<string>;
    createRealm(realmName: string, token: string): Promise<void>;
    setupEmailSettings(realmName: string, token: string): Promise<void>;
    createClient(realmName: string, clientId: string, token: string, clientSecret: string, key: string): Promise<void>;
    createUser(realmName: string, username: string, password: string, firstName: string, lastName: string, email: string, token: string): Promise<{
        id: string;
    }>;
    sendPasswordResetEmail(realmName: string, userId: string, token: string): Promise<void>;
    getParameterFromSSM(parameterName: string): Promise<string>;
    generateStrongPassword(length: number): string;
}
