import type { CustomerEventRegistration } from '../../api/types';
import type { EligibilityData } from './types';
export type EligibilityLookupState = {
    tag: 'idle';
    eligibility: null;
    error: null;
} | {
    tag: 'loading';
    eligibility: EligibilityData | null;
    error: null;
} | {
    tag: 'resolved';
    eligibility: EligibilityData;
    error: null;
} | {
    tag: 'failed';
    eligibility: null;
    error: string;
};
export type EligibilityLookupAction = {
    type: 'reset';
} | {
    type: 'loading-started';
} | {
    type: 'resolved';
    eligibility: EligibilityData;
} | {
    type: 'failed';
    message: string;
};
export declare const initialEligibilityLookupState: EligibilityLookupState;
export declare function eligibilityLookupReducer(state: EligibilityLookupState, action: EligibilityLookupAction): EligibilityLookupState;
export type ExistingRegistrationLookupState = {
    tag: 'idle';
    registration: null;
} | {
    tag: 'loading';
    registration: CustomerEventRegistration | null;
} | {
    tag: 'resolved';
    registration: CustomerEventRegistration | null;
};
export type ExistingRegistrationLookupAction = {
    type: 'reset';
} | {
    type: 'loading-started';
} | {
    type: 'resolved';
    registration: CustomerEventRegistration | null;
};
export declare const initialExistingRegistrationLookupState: ExistingRegistrationLookupState;
export declare function existingRegistrationLookupReducer(state: ExistingRegistrationLookupState, action: ExistingRegistrationLookupAction): ExistingRegistrationLookupState;
