import { TokenInfo } from '../../../hooks/Token/type';
import { Currency } from './sdks/sdk-core';
import { FeeAmount } from './sdks/v3-sdk';
import { Field, FullRange } from './types';
export interface StateProps {
    baseToken: Maybe<Currency>;
    quoteToken: Maybe<Currency>;
    feeAmount: FeeAmount | undefined;
    readonly independentField: Field;
    readonly typedValue: string;
    readonly startPriceTypedValue: string;
    readonly leftRangeTypedValue: string | FullRange;
    readonly rightRangeTypedValue: string | FullRange;
}
export declare enum Types {
    UpdateBaseToken = 0,
    UpdateDefaultBaseToken = 1,
    UpdateQuoteToken = 2,
    UpdateDefaultQuoteToken = 3,
    UpdateBaseTokenAndClearQuoteToken = 4,
    UpdateFeeAmount = 5,
    ToggleRate = 6,
    setFullRange = 7,
    typeStartPriceInput = 8,
    typeLeftRangeInput = 9,
    typeRightRangeInput = 10,
    typeInput = 11
}
type Payload = {
    [Types.UpdateBaseToken]: TokenInfo;
    [Types.UpdateDefaultBaseToken]: TokenInfo;
    [Types.UpdateQuoteToken]: TokenInfo;
    [Types.UpdateDefaultQuoteToken]: TokenInfo;
    [Types.UpdateBaseTokenAndClearQuoteToken]: TokenInfo;
    [Types.UpdateFeeAmount]: FeeAmount;
    [Types.ToggleRate]: void;
    [Types.setFullRange]: void;
    [Types.typeStartPriceInput]: {
        typedValue: string;
    };
    [Types.typeLeftRangeInput]: {
        typedValue: string;
    };
    [Types.typeRightRangeInput]: {
        typedValue: string;
    };
    [Types.typeInput]: {
        field: Field;
        typedValue: string;
        noLiquidity: boolean;
    };
};
export type Actions = ActionMap<Payload>[keyof ActionMap<Payload>];
export declare function reducer(state: StateProps, action: Actions): StateProps;
export {};
