export interface ConfigData {
    version: string;
    owner: string;
    discountVerifierPubkey: string;
    pledgeRate: string;
    feeSettle: string;
    feeRefund: string;
    feeWallet: string;
    currentTokenIndex: string;
}
export interface TokenConfigData {
    index: string;
    settleTime: string;
    settleDuration: string;
    status: string;
    settleRate: string;
    token: string | null;
}
export interface OfferData {
    tokenId: string;
    exToken: string;
    exTokenStore: string;
    offerType: string;
    status: string;
    amount: string;
    value: string;
    filledAmount: string;
    collateral: string;
    fullMatch: boolean;
    owner: string;
}
export interface OrderData {
    tokenId: string;
    offerId: string;
    exToken: string;
    exTokenStore: string;
    status: string;
    amount: string;
    value: string;
    collateral: string;
    buyer: string;
    seller: string;
}
export declare enum PreMarketError {
    NotUpgrade = 1,
    Unauthorized = 2,
    InvalidRole = 3,
    InvalidTokenState = 4,
    InvalidOfferType = 5,
    InvalidAmount = 6,
    InvalidValue = 7,
    InvalidCoinType = 8,
    InvalidOfferState = 9,
    InsufficientAllocation = 10,
    FullMatchRequired = 11,
    InvalidTokenId = 12,
    InvalidSettleDuration = 13,
    InvalidOrderState = 14,
    InvalidTableKey = 15,
    InvalidSignature = 16
}
export declare enum TokenStatus {
    Active = 1,
    Inactive = 2,
    Settle = 3,
    Cancelled = 4
}
export declare enum TokenCategory {
    Point = 1,
    PreMarket = 2
}
export declare enum OfferType {
    Buy = 1,
    Sell = 2
}
export declare enum OfferStatus {
    Open = 1,
    Filled = 2,
    Cancelled = 3
}
export declare enum OrderStatus {
    Open = 1,
    SettleFilled = 2,
    SettleCancelled = 3,
    Cancelled = 4
}
export declare enum Role {
    Admin = 1,
    Operator = 2
}
export interface SettleDiscount {
    orderId: string;
    sellerDiscount: number;
    buyerDiscount: number;
    signature: number[];
}
export declare enum EventType {
    ConfigUpdatedEvent = "ConfigUpdatedEvent",
    RoleAddedEvent = "RoleAddedEvent",
    RoleRemovedEvent = "RoleRemovedEvent",
    ExTokenAddedEvent = "ExTokenAddedEvent",
    ExTokenRemovedEvent = "ExTokenRemovedEvent",
    NewTokenEvent = "NewTokenEvent",
    NewOfferEvent = "NewOfferEvent",
    NewOrderEvent = "NewOrderEvent",
    SettleFilledEvent = "SettleFilledEvent",
    SettleCancelledEvent = "SettleCancelledEvent",
    CancelOfferEvent = "CancelOfferEvent",
    CloseOfferEvent = "CloseOfferEvent",
    ForceCancelOrderEvent = "ForceCancelOrderEvent",
    UpdateTokenSettleDurationEvent = "UpdateTokenSettleDurationEvent",
    TokenToSettlePhaseEvent = "TokenToSettlePhaseEvent",
    TokenForceCancelSettlePhaseEvent = "TokenForceCancelSettlePhaseEvent",
    TokenStatusToggledEvent = "TokenStatusToggledEvent",
    TokenCancelledEvent = "TokenCancelledEvent"
}
export interface ConfigUpdatedEvent {
    event_name: string;
    sender: string;
    discount_verifier_pubkey: string;
    pledge_rate: string;
    fee_settle: string;
    fee_refund: string;
    fee_wallet: string;
    block_height: number;
    transaction_version: number;
}
export interface RoleAddedEvent {
    event_name: string;
    sender: string;
    user: string;
    role: number;
    block_height: number;
    transaction_version: number;
}
export interface RoleRemovedEvent {
    event_name: string;
    sender: string;
    user: string;
    role: number;
    block_height: number;
    transaction_version: number;
}
export interface ExTokenAddedEvent {
    event_name: string;
    sender: string;
    token: string;
    block_height: number;
    transaction_version: number;
}
export interface ExTokenRemovedEvent {
    event_name: string;
    sender: string;
    token: string;
    block_height: number;
    transaction_version: number;
}
export interface NewTokenEvent {
    event_name: string;
    token_id: string;
    token_index: string;
    settle_duration: string;
    block_height: number;
    transaction_version: number;
}
export interface NewOfferEvent {
    event_name: string;
    offer_id: string;
    offer_type: number;
    token_id: string;
    token_index: string;
    amount: string;
    value: string;
    collateral: string;
    full_match: boolean;
    doer: string;
    ex_token: string;
    block_height: number;
    transaction_version: number;
}
export interface NewOrderEvent {
    event_name: string;
    order_id: string;
    offer_id: string;
    amount: string;
    seller: string;
    buyer: string;
    block_height: number;
    transaction_version: number;
}
export interface SettleFilledEvent {
    event_name: string;
    order_id: string;
    value: string;
    fee: string;
    doer: string;
    block_height: number;
    transaction_version: number;
}
export interface SettleCancelledEvent {
    event_name: string;
    order_id: string;
    value: string;
    fee: string;
    doer: string;
    block_height: number;
    transaction_version: number;
}
export interface CancelOfferEvent {
    event_name: string;
    offer_id: string;
    refund_value: string;
    refund_fee: string;
    doer: string;
    block_height: number;
    transaction_version: number;
}
export interface CloseOfferEvent {
    event_name: string;
    offer_id: string;
    refund_amount: string;
    block_height: number;
    transaction_version: number;
}
export interface ForceCancelOrderEvent {
    event_name: string;
    order_id: string;
    doer: string;
    block_height: number;
    transaction_version: number;
}
export interface UpdateTokenSettleDurationEvent {
    event_name: string;
    token_id: string;
    token_index: string;
    old_value: string;
    new_value: string;
    block_height: number;
    transaction_version: number;
}
export interface TokenToSettlePhaseEvent {
    event_name: string;
    token_id: string;
    token_index: string;
    token: string;
    settle_rate: string;
    settle_time: string;
    block_height: number;
    transaction_version: number;
}
export interface TokenForceCancelSettlePhaseEvent {
    event_name: string;
    token_id: string;
    token_index: string;
    status: number;
    block_height: number;
    transaction_version: number;
}
export interface TokenStatusToggledEvent {
    event_name: string;
    token_id: string;
    token_index: string;
    old_status: number;
    new_status: number;
    block_height: number;
    transaction_version: number;
}
export interface TokenCancelledEvent {
    event_name: string;
    token_id: string;
    token_index: string;
    status: number;
    block_height: number;
    transaction_version: number;
}
export interface EventWrapper {
    event_name: string;
    data: string;
    block_height: number;
    transaction_version: number;
}
export type EventResults = (ConfigUpdatedEvent | RoleAddedEvent | ExTokenAddedEvent | NewTokenEvent | NewOfferEvent | NewOrderEvent | CancelOfferEvent | CloseOfferEvent | ForceCancelOrderEvent | UpdateTokenSettleDurationEvent | TokenToSettlePhaseEvent | TokenForceCancelSettlePhaseEvent | TokenStatusToggledEvent)[];
