import type { ComponentChildren } from 'preact';
/**
 * Experiments are features that can only be switched on or off internally.
 * This list is defined in the BE.
 */
export declare const ExperimentNames: {
    readonly AllowMoreRolesForMainRootTrustee: "AllowMoreRolesForMainRootTrustee";
    /**
     *
     */
    readonly ShowUnsupportedEntityType: "ShowUnsupportedEntityType";
    /**
     *
     */
    readonly ShowExtraTaxExemptionReasons: "ShowExtraTaxExemptionReasons";
    /**
     *
     */
    readonly EnableEInvoicingCodeField: "EnableEInvoicingCodeField";
    /**
     * Allows users to specify a 'Country of Governing Law' for UK companies
     * within Business Details Task
     */
    readonly EnableCountryOfGoverningLawForUKCompanies: "EnableCountryOfGoverningLawForUKCompanies";
    /**
     *
     */
    readonly HidePayoutAccountTask: "HidePayoutAccountTask";
    /**
     *
     */
    readonly EnableAgeVerification: "EnableAgeVerification";
    /**
     *
     */
    readonly EnableNationalitySGHK: "EnableNationalitySGHK";
    /**
     *
     */
    readonly EnableFinancialInformationComponentV4: "EnableFinancialInformationComponentV4";
    /**
     *
     */
    readonly StrictNameAndAddressValidationV4: "StrictNameAndAddressValidationV4";
    /**
     *
     */
    readonly EnableDoingBusinessAsNameV4: "EnableDoingBusinessAsNameV4";
    /**
     *
     */
    readonly EnablePhoneFieldScenario: "EnablePhoneFieldScenario";
    /**
     *
     */
    readonly ShowCustomerSupportV4: "ShowCustomerSupportV4";
    /**
     *
     */
    readonly EnableRegistrationAndTaxAbsentStatesV4: "EnableRegistrationAndTaxAbsentStatesV4";
    /**
     *
     */
    readonly UseOnboardingComponentsForSingpass: "UseOnboardingComponentsForSingpass";
    /**
     * Enables localization for Japan
     */
    readonly EnableJapanLocalization: "EnableJapanLocalization";
    /**
     * Use the status calculated on the backend for the payout task.
     * If false, instead compute the status from capabilities and problems on the root LE.
     */
    readonly UseTaskStatusApiForPayout: "UseTaskStatusApiForPayout";
    /**
     * OXP-6357 Show revamped decision-maker task page
     */
    readonly EnableRevampedDecisionMakersTaskPage: "EnableRevampedDecisionMakersTaskPage";
    /**
     * OXP-5392: UseMultiform in Soleprop and trust task
     */
    readonly EnableTrustDetailsMultiform: "EnableTrustDetailsMultiform";
    /**
     * SOE-4062: Enable cross border payouts configuration for Bank Account task
     */
    readonly EnableCrossBorderPayouts: "EnableCrossBorderPayouts";
    /**
     * OXP-6032: Enable editing a single business line
     */
    readonly EnableModifyBusinessLines: "EnableModifyBusinessLines";
    /**
     * OXP-6032: Enable editing a single business line
     */
    readonly EnableDeleteBusinessLines: "EnableDeleteBusinessLines";
    /**
     * OXP-6799: Enable limit to a single business line
     */
    readonly EnableLimitToSingleBusinessLine: "EnableLimitToSingleBusinessLine";
    /**
     * OXP-5888: A/B testing: With & without pre-selection for verification method in Banking flow
     */
    readonly BankVerificationMethodAutonomy_UnbiasedSelectionOnContinue: "BankVerificationMethodAutonomy_UnbiasedSelectionOnContinue";
    readonly BankVerificationMethodAutonomy_UnbiasedSelectionOnCardClick: "BankVerificationMethodAutonomy_UnbiasedSelectionOnCardClick";
    readonly EnableIncorporationDateBasedFinancialValidationForHO: "EnableIncorporationDateBasedFinancialValidationForHO";
    /**
     * OXP-6068: Redesign Payout Verification Method Selection Page
     */
    readonly EnablePayoutVerificationMethodPageRedesign: "EnablePayoutVerificationMethodPageRedesign";
    /**
     * OXP-6596: Enable Bank Document Classification in HO
     */
    readonly EnableBankDocumentClassification: "EnableBankDocumentClassification";
    /**
     * OXP-6596: Enable Bank Document Classification in ShadowMode in HO
     */
    readonly EnableBankDocumentClassificationShadowMode: "EnableBankDocumentClassificationShadowMode";
    /**
     * Enable URL-based routing (wouter-preact) instead of state-based navigation
     */
    readonly EnableURLRouterForHostedOnboarding: "EnableURLRouterForHostedOnboarding";
    /**
     * Enable in-memory routing (wouter-preact memoryLocation) instead of state-based navigation.
     * When both EnableURLRouterForHostedOnboarding and EnableMemoryRouterForHostedOnboarding are on, memory router takes precedence.
     */
    readonly EnableMemoryRouterForHostedOnboarding: "EnableMemoryRouterForHostedOnboarding";
    /**
     * Enable "Verify by Invite" flow for decision makers in Identity Verification
     */
    readonly EnableVerifyByInvite: "EnableVerifyByInvite";
};
export type ExperimentName = (typeof ExperimentNames)[keyof typeof ExperimentNames];
export type Experiments = {
    [key in ExperimentName]?: boolean;
};
export interface ExperimentsProps {
    children?: ComponentChildren;
    experiments: Experiments;
    refreshExperiments?: () => void;
}
export interface ExperimentsContextValue {
    isExperimentEnabled(key: ExperimentName): boolean;
    refreshExperiments?: () => void;
    experiments: Experiments;
}
