import { AuthChallengeOptions, AuthService, GenericAuthChallengeCompletion, LoginResult, ResetPasswordData, UpdateCredentialsInfo } from '../models/components/auth-service';
import { RefreshAuthToken, UserToken } from '../models/utils/auth';
import { Credentials } from '../models/utils/user';
import { BasicCognitoService, CognitoServiceConfig } from './basic-cognito-service';
type GenericUserAttributes = Record<string, unknown>;
export type CognitoAuthServiceConfig = CognitoServiceConfig<Partial<GenericUserAttributes>, Partial<GenericUserAttributes>, GenericUserAttributes> & {
    clientId: string;
};
export declare class CognitoAuthService extends BasicCognitoService<Partial<GenericUserAttributes>, Partial<GenericUserAttributes>, GenericUserAttributes> implements AuthService {
    private readonly clientId;
    private readonly authManager;
    constructor(config: CognitoAuthServiceConfig);
    completeAuthChallenge(completion: GenericAuthChallengeCompletion, options: AuthChallengeOptions): Promise<LoginResult>;
    updateCredentials(updateInfo: UpdateCredentialsInfo, token: UserToken): Promise<void>;
    login(userData: Credentials): Promise<LoginResult>;
    refresh(token: RefreshAuthToken): Promise<UserToken>;
    logout(token: UserToken): Promise<void>;
    resendConfirmationLinkByEmail(username: string): Promise<void>;
    forgotPassword(username: string): Promise<void>;
    resetPassword(data: ResetPasswordData): Promise<void>;
}
export {};
