import { TokenInfo } from '../../../../hooks/Token';
import { PoolInfo } from '../components/PoolPicker';
export declare enum TokenType {
    SINGLE = 1,
    LP = 2
}
export interface RewardI {
    token: TokenInfo | undefined;
    total: string;
    startTime: number | null;
    endTime: number | null;
}
export interface StateProps {
    tokenType: TokenType;
    saveAToken?: TokenInfo;
    isHadSetDefaultRewardToken?: boolean;
    pool: PoolInfo | undefined;
    rewards: RewardI[];
    isInitCache: boolean;
    currentStep: 0 | 1 | 2 | 3;
    confirmModalVisible: boolean;
}
export declare function init(): StateProps;
export declare enum Types {
    updateTokenType = 1,
    updateSaveAToken = 2,
    updatePlatform = 3,
    updatePool = 4,
    updateReward = 5,
    addReward = 6,
    removeReward = 7,
    reset = 8,
    cover = 9,
    updateInitCache = 10,
    SetCurrentStep = 11,
    SetConfirmModalVisible = 12
}
interface PayloadRewardI extends Partial<RewardI> {
    index: number;
}
type Payload = {
    [Types.updateTokenType]: TokenType;
    [Types.updateSaveAToken]: TokenInfo | undefined;
    [Types.updatePool]: PoolInfo | undefined;
    [Types.updateReward]: PayloadRewardI;
    [Types.addReward]: undefined;
    [Types.removeReward]: number;
    [Types.reset]: undefined;
    [Types.cover]: StateProps;
    [Types.updateInitCache]: boolean;
    [Types.SetCurrentStep]: StateProps['currentStep'];
    [Types.SetConfirmModalVisible]: boolean;
};
export type Actions = ActionMap<Payload>[keyof ActionMap<Payload>];
export declare function reducer(state: StateProps, action: Actions): StateProps;
export {};
