export interface ConfigData {
    version: string;
    owner: string;
    feePercent: string;
    feeWallet: string;
}
export interface OtcOfferData {
    orderId: string;
    isBuyer: boolean;
    owner: string;
    exToken: string;
    value: string;
    deadline: string;
    status: string;
}
export declare enum OTCPreMarketError {
    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 {
    NoRole = 0,
    Admin = 1,
    Operator = 2
}
export declare enum EventType {
    ConfigUpdatedEvent = "ConfigUpdatedEvent",
    RoleAddedEvent = "RoleAddedEvent",
    RoleRemovedEvent = "RoleRemovedEvent",
    OtcOfferCreatedEvent = "OtcOfferCreatedEvent",
    OtcOfferFilledEvent = "OtcOfferFilledEvent",
    OtcOfferUpdatedEvent = "OtcOfferUpdatedEvent",
    OtcOfferCancelledEvent = "OtcOfferCancelledEvent"
}
export interface ConfigUpdatedEvent {
    event_name: string;
    sender: string;
    fee_percent: 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 OtcOfferCreatedEvent {
    event_name: string;
    offer_id: string;
    order_id: string;
    token_id: string;
    owner: string;
    ex_token: string;
    value: string;
    deadline: string;
    is_buyer: boolean;
    status: number;
    block_height: number;
    transaction_version: number;
}
export interface OtcOfferFilledEvent {
    event_name: string;
    offer_id: string;
    buyer: string;
    value: string;
    status: number;
    block_height: number;
    transaction_version: number;
}
export interface OtcOfferUpdatedEvent {
    event_name: string;
    offer_id: string;
    buyer: string;
    new_price: string;
    new_deadline: string;
    status: number;
    block_height: number;
    transaction_version: number;
}
export interface OtcOfferCancelledEvent {
    event_name: string;
    offer_id: 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 | RoleRemovedEvent | OtcOfferCreatedEvent | OtcOfferFilledEvent | OtcOfferUpdatedEvent | OtcOfferCancelledEvent)[];
