export interface SolscanTokenInfo {
    icon: string;
    token_icon_alternative: string | null;
    tokenScores: {
        lifetimeScore: number;
        engagementScore: number;
        volatilityScore: number;
        liquidityScore: number;
        tokenScore: number;
        updatedTime: number;
    };
    decimals: number;
    tokenAuthority: string | null;
    freezeAuthority: string | null;
    supply: string;
    ownExtensions: {
        coingeckoId?: string;
        discord?: string;
        medium?: string;
        telegram?: string;
        twitter?: string;
        website?: string;
        description?: string;
        coinMarketcapId?: string;
    };
    syncSetting: {
        isForceSync: string;
        disableAutoSync: string;
        syncCirSupply: string;
    };
    disable_show_origin_icon: number;
    notification_type: string;
    notification_text: string;
    created_tx: string;
    created_time: number;
    creator: string;
    first_mint_tx: string;
    first_mint_time: number;
    type: string;
}
export interface SolscanCreator {
    address: string;
    verified: number;
    share: number;
}
export interface SolscanTokenData {
    name: string;
    symbol: string;
    uri: string;
    sellerFeeBasisPoints: number;
    creators: SolscanCreator[];
}
export interface SolscanMetadata {
    key: number;
    updateAuthority: string;
    mint: string;
    data: SolscanTokenData;
    primarySaleHappened: number;
    isMutable: number;
    editionNonce: number;
    tokenStandard: number;
}
export interface SolscanTokenLabel {
    token_address: string;
    token_name: string;
    token_symbol: string;
    token_icon: string;
}
export interface SolscanTokenValueData {
    address: string;
    tokenAddress: string;
    amount: number;
    decimals: number;
    owner: string;
    priceUsdt: number;
    tokenName: string;
    tokenSymbol: string;
    tokenIcon: string;
    tokenType: string;
    balance: number;
    value: number;
}
export interface SolscanToken {
    token_address: string;
    token_name: string;
    token_symbol: string;
    token_icon: string;
    token_decimals: number;
    token_type: string;
    price_usdt?: number;
    reputation?: string;
    is_show_value: boolean;
    is_calculate_on_portfolio: boolean;
    is_show_icon: boolean;
    token_icon_alternative: string | null;
    token_label?: SolscanTokenLabel;
}
export interface SolscanAccount {
    account_address: string;
    account_tags: string[];
    account_type: string;
    account_label?: string;
    account_icon?: string;
}
export interface SolscanTag {
    name: string;
    description: string;
    icon: string;
}
export interface SolscanAccountData {
    account: string;
    lamports: number;
    ownerProgram: string;
    type: string;
    rentEpoch: number;
    executable: boolean;
    isOnCurve: boolean;
    space: number;
    notifications: {
        tags: Record<string, SolscanTag>;
    };
    tokenInfo: SolscanTokenInfo;
    metadata: SolscanMetadata;
}
export interface SolscanMetadataResponse {
    tokens: Record<string, SolscanToken>;
    accounts: Record<string, SolscanAccount>;
    tags: {
        jupiter?: {
            name: string;
            description: string;
            icon: string;
        };
        memecoin?: {
            name: string;
            description: string;
            icon: string;
        };
        'pump.fun'?: {
            name: string;
            description: string;
            icon: string;
        };
    };
    programs: Record<string, any>;
    nftCollections: Record<string, any>;
    nftMarketplaces: Record<string, any>;
}
export interface SolscanGetAccountResponse {
    success: boolean;
    data: SolscanAccountData;
    metadata: SolscanMetadataResponse;
}
export interface SolscanGetAccountTokensResponse {
    success: boolean;
    data: {
        data_type: string;
        tokens: SolscanTokenValueData[];
        count: number;
    };
    metadata: SolscanMetadataResponse;
}
