export interface BirdeyeTokenSecurityData {
    creator_address: string | null;
    creator_owner_address: string | null;
    owner_address: string;
    owner_of_owner_address: string | null;
    creation_tx: string | null;
    creation_time: string | null;
    creation_slot: string | null;
    mint_tx: string | null;
    mint_time: string | null;
    mint_slot: string | null;
    mintable: boolean;
    renounce: boolean;
    creator_balance: string | null;
    owner_balance: string | null;
    owner_percent: string | null;
    creator_percent: string | null;
    metaplex_update_authority: string;
    metaplex_owner_update_authority: string | null;
    metaplex_update_authority_balance: number;
    metaplex_update_authority_percent: number;
    mutable_metadata: boolean;
    top10_holder_balance: number;
    top10_holder_percent: number;
    top10_user_balance: number;
    top10_user_percent: number;
    is_true_token: boolean | null;
    fake_token: boolean | null;
    total_supply: number;
    pre_market_holder: any[];
    lock_info: any | null;
    freeze_able: boolean;
    freeze_authority: string;
    transfer_fee_enable: boolean | null;
    transfer_fee_data: any | null;
    is_token_2022: boolean;
    non_transferable: boolean | null;
    updateTime: number;
    jup_strict_list: boolean;
}
export interface BirdeyeTokenSecurityResponse {
    result: {
        status: number;
        data: BirdeyeTokenSecurityData;
        warning: string | null;
    };
}
export interface BirdeyeTokenInfo {
    name: string;
    decimals: number;
    symbol: string;
    icon: string;
    coingeckoId: string;
    website: string;
    twitter: string | null;
    telegram: string | null;
    github: string | null;
    discord: string | null;
    facebook: string | null;
    instagram: string | null;
    medium: string | null;
    description: string;
    email: string | null;
    coinmarketcapId: string | null;
    substack: string | null;
    tiktok: string | null;
    reddit: string | null;
    gitlab: string | null;
    bitbucket: string | null;
    whitePaper: string | null;
    jupStrict: boolean;
    supply: string;
}
export interface BirdeyeAccountInfoResponse {
    account: string;
    lamports: number;
    ownerProgram: string;
    type: string;
    decimals: number;
    extensions: any | null;
    tokenInfo: BirdeyeTokenInfo;
    jupStrict: boolean;
    supply: string;
    network: string;
}
interface BirdeyeSecurityLabel {
    label: string;
    mint: string;
}
interface SecurityAlias {
    [key: string]: BirdeyeSecurityLabel;
}
interface BirdeyeLabelInfo {
    entity: string;
    name: string;
    logo: string;
    icon?: string;
}
interface BirdeyeHolderAlias {
    security?: SecurityAlias;
    label?: BirdeyeLabelInfo;
}
export interface BirdeyeTokenHolder {
    address: string;
    amount: number;
    decimals: number;
    owner: string;
    rank: number;
    alias: BirdeyeHolderAlias | null;
}
export interface TokenHoldersResponse {
    result: BirdeyeTokenHolder[];
}
interface BirdeyePriceChange {
    '30m': number;
    '1h': number;
    '2h': number;
    '4h': number;
    '8h': number;
    '24h': number;
}
interface BirdeyeVolume {
    buy: number;
    sell: number;
    total: number;
}
interface BirdeyeTradeCount {
    buy: number;
    sell: number;
    total: number;
}
export interface BirdeyeTokenStats {
    price: number;
    priceInNative: number;
    priceInBtc: number;
    markets: number;
    holder: number;
    supply: number;
    fdv: number;
    circulatingSupply: number;
    mc: number;
    priceChange: BirdeyePriceChange;
    uniqueTraders: number;
    trade: number;
    sell: number;
    buy: number;
    v: number;
    vBuy: number;
    vSell: number;
    vSellUSD: number;
    vUSD: number;
    vBuyUSD: number;
    volume: BirdeyeVolume;
    volumeUSD: BirdeyeVolume;
    tradeCount: BirdeyeTradeCount;
    liquidity: number;
}
export interface BirdeyeTrade {
    id: string;
    volumeUSD: number;
    slot: number;
    blockUnixTime: number;
    blockHumanTime: Date;
    txType: string;
    txHash: string;
    address: string;
    owner: string;
    source: string;
    platform: string;
    side: string;
    pricePair: number;
    alias: null;
    from: TradeDetails;
    to: TradeDetails;
    tokenPrice: number;
    sourceAddress: string;
    platformAddress: string;
    mc: number;
    network: string;
}
export interface TradeDetails {
    address: string;
    symbol: string;
    icon: string;
    decimals: number;
    amount: number;
    price: number;
    uiAmount: number;
    uiChangeAmount: number;
    typeSwap: string;
}
export interface BirdeyeTokenTransactionsResponse {
    items: BirdeyeTrade[];
    hasNext: boolean;
}
export interface BirdeyeMarketDataItem {
    volume24h: number;
    liquidity: number;
    name: string;
    source: string;
    address: string;
}
export interface BirdeyeMarketDataResponse {
    items: BirdeyeMarketDataItem[];
    hasNext: boolean;
}
export {};
