import type { Translatable } from '../../../types';
import type { ExistingLegalEntity } from '../../core/models/api/legal-entity';
import type { AccountHolderOption } from '../../types/accountHolder';
declare const SingpassMyInfoLoginActionTypes: {
    readonly LOADING: "LOADING";
    readonly SUCCESS: "SUCCESS";
    readonly FAILURE: "FAILURE";
    readonly RESET: "RESET";
};
export type SingpassMyInfoLoginActionType = (typeof SingpassMyInfoLoginActionTypes)[keyof typeof SingpassMyInfoLoginActionTypes];
interface SingpassMyInfoLoginAction {
    type: SingpassMyInfoLoginActionType;
    isLoading: boolean;
    isSuccess: boolean;
    errorMessage?: Translatable;
}
export type SingpassMyInfoLoginState = Omit<SingpassMyInfoLoginAction, 'type'>;
interface UseSingpassMyInfoLoginProps {
    legalEntity: ExistingLegalEntity;
    accountHolder: AccountHolderOption | undefined;
}
export declare const useSingpassMyInfoLogin: ({ legalEntity, accountHolder, }: UseSingpassMyInfoLoginProps) => {
    isEligibleForSingpass: boolean;
    state: SingpassMyInfoLoginState;
    handleInitiateSingpassMyInfoLogin: () => Promise<string | undefined>;
    handleSingpassMyInfoLoginSuccess: () => void;
    handleSingpassMyInfoLoginFailure: (errorMessage: Translatable) => void;
    handleSingpassMyInfoLoginReset: () => void;
};
export {};
