/// <reference types="react" />
import { Environment } from 'rm-sdk';
import { Environment as Environment$1 } from 'rm-sdk/build/types';
import { Web3Provider } from '@ethersproject/providers';
import { ContractReceipt } from 'ethers';
import { FC } from 'react';
import { Environment as Environment$2 } from 'rm-sdk/build';

declare const MarketWidgetConstants: {
    DEFAULT_RESULT_LIMIT: number;
    DEFAULT_VIEW_MARKET_LIST_TITLE: string;
};
interface IProps$9 {
    environment: Environment;
    viewMarketListTitle: string;
    inlineMode?: boolean;
    alwaysExpanded?: boolean;
    showFilterPanel?: boolean;
    width?: string;
    height?: string;
    columnList?: string | string[];
    columnNameList?: string | string[];
    coverInputTitle?: string;
    pageSize?: number;
    chainId?: number;
    productId?: string;
    marketIdList?: string[];
    forceUiMode?: "mobile" | "desktop";
}
declare function MarketWidget({ viewMarketListTitle, inlineMode, alwaysExpanded, width, height, showFilterPanel, columnList, columnNameList, coverInputTitle, environment, pageSize, chainId, productId, marketIdList, forceUiMode, }: IProps$9): JSX.Element;

declare const PolicyWidgetConstants: {
    DEFAULT_ACTIVE_PROTECTION_TITLE: string;
    DEFAULT_NO_PROTECTION_TITLE: string;
};
interface IProps$8 {
    provider: Web3Provider;
    environment: Environment$1 | string;
    policyId: string;
    className?: string;
    activeProtectionTitle?: string;
    noProtectionTitle?: string;
    incomeApyRate?: string;
    inlineMode?: boolean;
}
declare function PolicyWidget({ provider, policyId, environment, className, activeProtectionTitle, noProtectionTitle, incomeApyRate, inlineMode, }: IProps$8): JSX.Element;

declare const PoolWidgetConstants: {
    DEFAULT_RESULT_LIMIT: number;
    DEFAULT_VIEW_POOL_LIST_TITLE: string;
};
interface IProps$7 {
    environment: Environment;
    viewPoolListTitle: string;
    inlineMode?: boolean;
    alwaysExpanded?: boolean;
    showFilterPanel?: boolean;
    width?: string;
    height?: string;
    columnList?: string | string[];
    columnNameList?: string | string[];
    pageSize?: number;
    chainId?: number;
    productId?: string;
    marketId?: string;
    poolIdList?: string[];
}
declare function PoolWidget({ viewPoolListTitle, inlineMode, alwaysExpanded, width, height, showFilterPanel, columnList, columnNameList, environment, pageSize, chainId, productId, marketId, poolIdList, }: IProps$7): JSX.Element;

declare const PolicyListWidgetConstants: {
    DEFAULT_RESULT_LIMIT: number;
    DEFAULT_VIEW_POLICY_LIST_TITLE: string;
};
interface IProps$6 {
    environment: Environment;
    viewPolicyListTitle: string;
    inlineMode?: boolean;
    alwaysExpanded?: boolean;
    showFilterPanel?: boolean;
    width?: string;
    height?: string;
    columnList?: string | string[];
    columnNameList?: string | string[];
    pageSize?: number;
    chainId?: number;
    productId?: string;
    marketId?: string;
    policyIdList?: string[];
}
declare function PolicyListWidget({ viewPolicyListTitle, inlineMode, alwaysExpanded, width, height, showFilterPanel, columnList, columnNameList, environment, pageSize, chainId, productId, marketId, policyIdList, }: IProps$6): JSX.Element;

declare const RMWidgetConstants: {
    DEFAULT_ACTIVATE_PROTECTION_TITLE: string;
    DEFAULT_VIEW_PROTECTION_TITLE: string;
};
type ControlType = 'toggle' | 'checkbox' | 'button' | 'link' | 'website-link';
interface IProps$5 {
    provider: Web3Provider;
    protectionAmount: string;
    marketId: string;
    environment: Environment$1 | string;
    className?: string;
    controlType?: ControlType;
    activateProtectionTitle?: string;
    viewProtectionTitle?: string;
    frontendOperator?: string;
    referrer?: string;
    defaultDuration?: number;
    incomeApyRate?: string;
    inlineMode?: boolean;
}
declare function RMWidget({ provider, protectionAmount, marketId, environment, className, controlType, activateProtectionTitle, viewProtectionTitle, frontendOperator, referrer, defaultDuration, incomeApyRate, inlineMode, }: IProps$5): JSX.Element;

declare const ProtectionWidgetConstants: {
    DEFAULT_RESULT_LIMIT: number;
    DEFAULT_NO_ASSET_TITLE: string;
    DEFAULT_NO_PROTECTION_TITLE: string;
    DEFAULT_ACTIVATE_PROTECTION_TITLE: string;
    DEFAULT_VIEW_PROTECTION_TITLE: string;
};
interface IProps$4 {
    provider: Web3Provider;
    protectionAmount: string;
    marketId?: string;
    productId?: string;
    chainId?: number;
    entityList?: Array<{
        key: string;
        value: string;
    }> | string;
    environment?: Environment$1 | string;
    className?: string;
    frontendOperator?: string;
    referrer?: string;
    activateProtectionTitle?: string;
    viewProtectionTitle?: string;
    defaultDuration?: number;
    marketLimit?: number;
    noProtectionTitle?: string;
    noAssetTitle?: string;
    incomeApyRate?: string;
    controlType?: ControlType;
    inlineMode?: boolean;
}
declare function ProtectionWidget({ provider, protectionAmount, marketId, productId, chainId, entityList, environment, className, frontendOperator, referrer, activateProtectionTitle, viewProtectionTitle, defaultDuration, marketLimit, noProtectionTitle, noAssetTitle, incomeApyRate, controlType, inlineMode, }: IProps$4): JSX.Element;

declare const ActivateProtectionWidgetConstants: {
    DEFAULT_RESULT_LIMIT: number;
    DEFAULT_NO_ASSET_TITLE: string;
    DEFAULT_NO_PROTECTION_TITLE: string;
};
interface IProps$3 {
    provider?: Web3Provider;
    defaultProtectionAmount?: string;
    marketId?: string;
    productId?: string;
    chainId?: number;
    entityList?: Array<{
        key: string;
        value: string;
    }> | string;
    environment?: Environment | string;
    frontendOperator?: string;
    referrer?: string;
    activateProtectionTitle?: string;
    viewProtectionTitle?: string;
    defaultDuration?: number;
    marketLimit?: number;
    noProtectionTitle?: string;
    noAssetTitle?: string;
    inlineMode?: boolean;
    alwaysExpanded?: boolean;
    showPolicyFilterPanel?: boolean;
    width?: string;
    height?: string;
    policyColumnList?: string | string[];
    policyColumnNameList?: string | string[];
    pageSize?: number;
    marketIdList?: string[];
    policyIdList?: string[];
}
declare function ActivateProtectionWidget({ provider, defaultProtectionAmount, marketId, productId, chainId, entityList, environment, frontendOperator, referrer, activateProtectionTitle, viewProtectionTitle, defaultDuration, marketLimit, noProtectionTitle, noAssetTitle, inlineMode, alwaysExpanded, showPolicyFilterPanel, width, height, policyColumnList, policyColumnNameList, pageSize, marketIdList, policyIdList, }: IProps$3): JSX.Element;

interface IProps$2 {
    environment: Environment | string;
    marketId?: string;
    frontendOperator?: string;
    referrer?: string;
    activateProtectionTitle?: string;
    defaultProtectionAmount?: string;
    defaultDuration?: number;
    inlineMode?: boolean;
    alwaysExpanded?: boolean;
    showPolicyFilterPanel?: boolean;
    width?: string;
    height?: string;
    policyColumnList?: string | string[];
    policyColumnNameList?: string | string[];
    pageSize?: number;
    policyIdList?: string[];
    defaultTab?: string;
}
declare function ActivateMarketProtectionWidget({ defaultProtectionAmount, marketId, environment, frontendOperator, referrer, activateProtectionTitle, defaultDuration, inlineMode, alwaysExpanded, showPolicyFilterPanel, width, height, policyColumnList, policyColumnNameList, pageSize, policyIdList, defaultTab, }: IProps$2): JSX.Element;

declare const RequestLoanWidgetConstants: {
    DEFAULT_NO_MARKET_TITLE: string;
};
interface IProps$1 {
    desiredLoanAmount?: string;
    provider: Web3Provider;
    marketId: string;
    chainId?: number;
    environment?: Environment$1 | string;
    className?: string;
    frontendOperator?: string;
    referrer?: string;
    defaultDuration?: number;
    inlineMode?: boolean;
    noMarketTitle?: string;
    minDuration?: number;
    maxDuration?: number;
    hideLogo?: boolean;
    onRequestSuccess?: (loanId: string, receipt: ContractReceipt) => void;
}
declare function RequestLoanWidget({ desiredLoanAmount, provider, marketId, chainId, environment, noMarketTitle, className, frontendOperator, referrer, defaultDuration, minDuration, maxDuration, hideLogo, onRequestSuccess }: IProps$1): JSX.Element;

declare enum SubscriptionType {
    Email = "email",
    Telegram = "telegram",
    EmailAndTelegram = "emailAndTelegram"
}
interface IProps {
    environment: Environment$2;
    waitlistName: string;
    title: string;
    successText: string;
    subscriptionType: SubscriptionType;
    address?: string;
    emailPlaceholder?: string;
    submitButtonText?: string;
    telegramButtonText?: string;
    addressRequired?: boolean | "true" | "false";
    addressRequiredText?: string;
    option1?: string;
    option2?: string;
    option3?: string;
    option4?: string;
    option5?: string;
    showTextbox?: boolean | "true" | "false";
    textboxValueRequired?: boolean | "true" | "false";
    textboxLabel?: string;
    textboxPlaceholder?: string;
    textboxType?: "string" | "positiveNumber";
}
declare const WaitlistWidget: FC<IProps>;

export { ActivateMarketProtectionWidget, ActivateProtectionWidget, ActivateProtectionWidgetConstants, MarketWidget, MarketWidgetConstants, PolicyListWidget, PolicyListWidgetConstants, PolicyWidget, PolicyWidgetConstants, PoolWidget, PoolWidgetConstants, ProtectionWidget, ProtectionWidgetConstants, RMWidget, RMWidgetConstants, RequestLoanWidget, RequestLoanWidgetConstants, WaitlistWidget };
