import React from 'react';

type FlowType = 'aadhaar' | 'digilocker' | null;
interface BaseProps {
    apiKey: string;
    clientId: string;
    redirectUrl: string;
}
interface AadhaarFlowProps extends BaseProps {
    generatePdf: boolean;
    onBack: () => void;
    companyName: string;
    purpose: string;
}
interface DigiLockerFlowProps extends BaseProps {
    autoProcessCallback?: boolean;
}
interface FlowSelectorProps {
    apiKey: string;
    clientId: string;
    redirectUrl?: string;
    onSelectAadhaar?: () => void;
    onSelectDigiLocker?: () => void;
    onAutoSelectDigiLocker?: () => void;
    autoDetectCallback?: boolean;
    singleFlow?: FlowType;
    showFlowSelector?: boolean;
}
interface AppProps {
    onInterrupt?: (sessionId: string, flow: FlowType) => void;
    apiKey: string;
    clientId: string;
    redirectUrl: string;
    companyName?: string;
    purpose?: string;
    singleFlow?: FlowType;
    showFlowSelector?: boolean;
}

declare const FlowSelector: React.FC<FlowSelectorProps>;

declare const DigiLockerFlow: React.FC<DigiLockerFlowProps>;

export { type AadhaarFlowProps, type AppProps, DigiLockerFlow, type DigiLockerFlowProps, FlowSelector, type FlowSelectorProps, type FlowType };
