import { DriftClient } from './driftClient';
import { Commitment, PublicKey } from '@solana/web3.js';
import { BulkAccountLoader } from './accounts/bulkAccountLoader';
import { GrpcConfigs, UserAccountSubscriber } from './accounts/types';
export type UserConfig = {
    accountSubscription?: UserSubscriptionConfig;
    driftClient: DriftClient;
    userAccountPublicKey: PublicKey;
};
export type UserSubscriptionConfig = {
    type: 'grpc';
    resubTimeoutMs?: number;
    logResubMessages?: boolean;
    grpcConfigs: GrpcConfigs;
} | {
    type: 'websocket';
    resubTimeoutMs?: number;
    logResubMessages?: boolean;
    commitment?: Commitment;
} | {
    type: 'polling';
    accountLoader: BulkAccountLoader;
} | {
    type: 'custom';
    userAccountSubscriber: UserAccountSubscriber;
};
//# sourceMappingURL=userConfig.d.ts.map