import React from 'react';
import './AuthMethodButton/AuthMethodButton.css';
import { Action } from '../context';
import { AuthMethodButtonLogoProps } from './AuthMethodButton/Logo';
import { type Language } from '../i18n';
export type PopupParams = {
    acrValue: string;
    onHide: () => void;
};
export type PopupOption = boolean | ((options: PopupParams) => boolean | React.ReactElement);
export interface AuthMethodButtonComponentProps {
    acrValue: string;
    href?: string;
    onClick?: React.MouseEventHandler;
    children?: React.ReactNode;
    'data-testid'?: string;
    className?: string;
    /**
     * base64 image string, e.x. data:image/png;base64,
     * or a ReactElement
     */
    logo?: AuthMethodButtonLogoProps['logo'];
    /**
     * Impacts the button text rendered if no text is provided via props.children
     */
    language?: Language;
    /**
     * Impacts the button text rendered if no text is provided via props.children
     */
    action?: Action;
}
/**
 * Display only components, does no state management and triggers no login flows on it's own
 */
export declare function AuthMethodButtonComponent(props: AuthMethodButtonComponentProps): import("react/jsx-runtime").JSX.Element;
export type AuthMethodButtonContainerProps = AuthMethodButtonComponentProps & {
    redirectUri?: string;
    popup?: PopupOption;
    /**
     * Will ammend the login_hint parameter with `message:{base64(message)}` which will set a login/aprove message where available (Danish MitID).
     */
    message?: string;
    userAgent?: string;
};
export declare function AuthMethodButtonContainer(props: AuthMethodButtonContainerProps): import("react/jsx-runtime").JSX.Element;
