import React from 'react';
import { AuthorizeResponse, OAuth2Error } from '@criipto/auth-js';
import { type Language } from '../i18n';
import './SEBankIDQRCode/SEBankIDQRCode.css';
interface Props {
    redirectUri?: string;
    qrMargin?: number;
    /**
     * Impacts the help text
     */
    language?: Language;
    children?: (props: {
        qrElement: React.ReactElement;
        /**
         * Can be rendered instead of `qrElement` if you only wish to render the qr code with no additional content.
         * Combine with `qrMargin`.
         */
        imageElement: React.ReactElement;
        /**
         * Will be true once the user has completed login in the app and the rest of the login flow is being processed
         */
        isCompleting: boolean;
        /**
         * The user has clicked on the qr image element to trigger fullscreen view per https://developers.bankid.com/getting-started/qr-code#accessibility
         */
        fullscreen: boolean;
        error: OAuth2Error | Error | null;
        retry: () => void;
    }) => React.ReactElement;
    /** Render fallback element while loading */
    fallback?: React.ReactElement;
}
declare function SEBankIDQrCode(props: Props): import("react/jsx-runtime").JSX.Element;
declare namespace SEBankIDQrCode {
    var acr_values: string;
}
export default SEBankIDQrCode;
type UseDrawOptions = {
    width?: number;
    qrMargin?: number;
};
export declare function useDraw(qrCode: string | null, options: UseDrawOptions): string | null;
type UsePollOptions = {
    enabled: boolean;
    onQrCode: (code: string) => void;
    onComplete: (url: string) => void;
    onError: (error: string) => void;
};
export declare function usePoll(pollUrl: string | null, options: UsePollOptions): void;
export declare function parseCompleteUrl(completeUrl: string): Promise<{
    location: string;
    response: AuthorizeResponse;
} | Error>;
