import { type Commitment, type Connection, PublicKey } from '@solana/web3.js';
import type { BagsGetFeeShareWalletV2BulkStateItem, BagsGetFeeShareWalletV2State, BagsTokenLeaderBoardItem, GetLaunchWalletV2BulkRequestItem, SupportedSocialProvider, TokenClaimEvent, TokenLaunchCreator, TokenLaunchCreatorV3WithClaimStats } from '../types/api';
import type { BorshAccountsCoder, Program } from '@coral-xyz/anchor';
import type { BagsFeeShare as BagsFeeShareIDL } from '../idl/fee-share-v2/idl';
import type { DynamicBondingCurve as DynamicBondingCurveIDL } from '../idl/dynamic-bonding-curve/idl';
import type { DammV2 as DammV2IDL } from '../idl/damm-v2/idl';
import type { BagsMeteoraFeeClaimer as BagsMeteoraFeeClaimerIDL } from '../idl/bags-meteora-fee-claimer/idl';
import { BagsApiClient } from '../api/bags-client';
export declare class StateService {
    protected bagsApiClient: BagsApiClient;
    protected dbcProgram: Program<DynamicBondingCurveIDL>;
    protected dammV2Program: Program<DammV2IDL>;
    protected bagsMeteoraFeeClaimer: Program<BagsMeteoraFeeClaimerIDL>;
    protected bagsFeeShareV2: Program<BagsFeeShareIDL>;
    protected bagsFeeShareV2Coder: BorshAccountsCoder;
    protected connection: Connection;
    protected commitment: Commitment;
    constructor(apiKey: string, connection: Connection, commitment?: Commitment);
    getBagsApiClient(): BagsApiClient;
    getDbcProgram(): Program<DynamicBondingCurveIDL>;
    getDammV2Program(): Program<DammV2IDL>;
    getBagsMeteoraFeeClaimerProgram(): Program<BagsMeteoraFeeClaimerIDL>;
    getBagsFeeShareV2Program(): Program<BagsFeeShareIDL>;
    getConnection(): Connection;
    getCommitment(): Commitment;
    getTokenLifetimeFees(tokenMint: PublicKey): Promise<number>;
    getTokenCreators(tokenMint: PublicKey): Promise<Array<TokenLaunchCreator>>;
    getTopTokensByLifetimeFees(): Promise<Array<BagsTokenLeaderBoardItem>>;
    getLaunchWalletForTwitterUsername(twitterUsername: string): Promise<PublicKey>;
    getPoolConfigKeysByFeeClaimerVaults(feeClaimerVaults: Array<PublicKey>): Promise<Array<PublicKey>>;
    getTokenClaimStats(tokenMint: PublicKey): Promise<Array<TokenLaunchCreatorV3WithClaimStats>>;
    getTokenClaimEvents(tokenMint: PublicKey, options?: {
        limit?: number;
        offset?: number;
    }): Promise<Array<TokenClaimEvent>>;
    getLaunchWalletV2(username: string, provider: SupportedSocialProvider): Promise<BagsGetFeeShareWalletV2State>;
    getLaunchWalletV2Bulk(items: Array<GetLaunchWalletV2BulkRequestItem>): Promise<Array<BagsGetFeeShareWalletV2BulkStateItem>>;
}
//# sourceMappingURL=state.d.ts.map