import React, { Component, type RefObject } from 'react';
import type { NativeMethods, ViewStyle } from 'react-native';
import type { KlarnaMobileSDKError } from './types/common/KlarnaMobileSDKError';
import type { KlarnaEnvironment } from './types/common/KlarnaEnvironment';
import type { KlarnaRegion } from './types/common/KlarnaRegion';
import type { KlarnaExpressCheckoutSessionOptions } from './types/common/KlarnaExpressCheckoutSessionOptions';
import type { KlarnaButtonTheme } from './types/button/KlarnaButtonTheme';
import type { KlarnaButtonShape } from './types/button/KlarnaButtonShape';
import type { KlarnaButtonStyle } from './types/button/KlarnaButtonStyle';
import { type RNKlarnaExpressCheckoutViewProps } from './specs/KlarnaExpressCheckoutViewNativeComponent';
export interface KlarnaExpressCheckoutAuthorizationResponse {
    readonly showForm: boolean;
    readonly approved: boolean;
    readonly finalizedRequired: boolean;
    readonly clientToken: string;
    readonly authorizationToken: string;
    readonly sessionId: string;
    readonly collectedShippingAddress: string;
    readonly merchantReference1: string;
    readonly merchantReference2: string;
}
export interface KlarnaExpressCheckoutViewProps {
    style?: ViewStyle;
    readonly sessionOptions: KlarnaExpressCheckoutSessionOptions;
    readonly locale: string;
    readonly environment: KlarnaEnvironment;
    readonly region: KlarnaRegion;
    readonly returnUrl: string;
    readonly theme?: KlarnaButtonTheme;
    readonly shape?: KlarnaButtonShape;
    readonly buttonStyle?: KlarnaButtonStyle;
    readonly autoFinalize?: boolean;
    readonly collectShippingAddress?: boolean;
    readonly sessionData?: string;
    readonly onAuthorized?: (response: KlarnaExpressCheckoutAuthorizationResponse) => void;
    readonly onError?: (error: KlarnaMobileSDKError) => void;
}
interface KlarnaExpressCheckoutViewState {
    nativeViewHeight: number;
}
export declare class KlarnaExpressCheckoutView extends Component<KlarnaExpressCheckoutViewProps, KlarnaExpressCheckoutViewState> {
    viewRef: RefObject<Component<RNKlarnaExpressCheckoutViewProps> & Readonly<NativeMethods>>;
    constructor(props: KlarnaExpressCheckoutViewProps);
    render(): React.JSX.Element;
}
export default KlarnaExpressCheckoutView;
//# sourceMappingURL=KlarnaExpressCheckoutView.d.ts.map