import { ConfirmOptions } from '@solana/web3.js';
import { PerpMarketAccount, PublicKey, SpotMarketAccount } from '.';
import { PerpMarketConfig } from './constants/perpMarkets';
import { SpotMarketConfig } from './constants/spotMarkets';
import { OracleInfo } from './oracles/types';
import { Program } from '@coral-xyz/anchor';
type DriftConfig = {
    ENV: DriftEnv;
    PYTH_ORACLE_MAPPING_ADDRESS: string;
    DRIFT_PROGRAM_ID: string;
    JIT_PROXY_PROGRAM_ID?: string;
    DRIFT_ORACLE_RECEIVER_ID: string;
    USDC_MINT_ADDRESS: string;
    SERUM_V3: string;
    PHOENIX: string;
    OPENBOOK: string;
    V2_ALPHA_TICKET_MINT_ADDRESS: string;
    PERP_MARKETS: PerpMarketConfig[];
    SPOT_MARKETS: SpotMarketConfig[];
    /** @deprecated use MARKET_LOOKUP_TABLES */
    MARKET_LOOKUP_TABLE: string;
    MARKET_LOOKUP_TABLES: string[];
    SERUM_LOOKUP_TABLE?: string;
    PYTH_PULL_ORACLE_LOOKUP_TABLE?: string;
    SB_ON_DEMAND_PID: PublicKey;
};
export type DriftEnv = 'devnet' | 'mainnet-beta';
export declare const DRIFT_PROGRAM_ID = "dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH";
export declare const DRIFT_ORACLE_RECEIVER_ID = "G6EoTTTgpkNBtVXo96EQp2m6uwwVh2Kt6YidjkmQqoha";
export declare const PTYH_LAZER_PROGRAM_ID = "pytd2yyk641x7ak7mkaasSJVXh6YYZnC7wTmtgAyxPt";
export declare const PYTH_LAZER_STORAGE_ACCOUNT_KEY: PublicKey;
export declare const DEFAULT_CONFIRMATION_OPTS: ConfirmOptions;
export declare const configs: {
    [key in DriftEnv]: DriftConfig;
};
export declare const getConfig: () => DriftConfig;
/**
 * Allows customization of the SDK's environment and endpoints. You can pass individual settings to override the settings with your own presets.
 *
 * Defaults to master environment if you don't use this function.
 * @param props
 * @returns
 */
export declare const initialize: (props: {
    env: DriftEnv;
    overrideEnv?: Partial<DriftConfig>;
}) => DriftConfig;
export declare function getMarketsAndOraclesForSubscription(env: DriftEnv, perpMarkets?: PerpMarketConfig[], spotMarkets?: SpotMarketConfig[]): {
    perpMarketIndexes: number[];
    spotMarketIndexes: number[];
    oracleInfos: OracleInfo[];
};
export declare function findAllMarketAndOracles(program: Program): Promise<{
    perpMarketIndexes: number[];
    perpMarketAccounts: PerpMarketAccount[];
    spotMarketIndexes: number[];
    oracleInfos: OracleInfo[];
    spotMarketAccounts: SpotMarketAccount[];
}>;
export {};
//# sourceMappingURL=config.d.ts.map