///
///
import { DataAndSlot, BufferAndSlot, ProgramAccountSubscriber } from './types';
import { Program } from '@coral-xyz/anchor';
import { Commitment, Context, KeyedAccountInfo, MemcmpFilter, PublicKey } from '@solana/web3.js';
export declare class WebSocketProgramAccountSubscriber implements ProgramAccountSubscriber {
subscriptionName: string;
accountDiscriminator: string;
dataAndSlot?: DataAndSlot & {
accountId: PublicKey;
};
bufferAndSlot?: BufferAndSlot;
program: Program;
decodeBuffer: (accountName: string, ix: Buffer) => T;
onChange: (accountId: PublicKey, data: T, context: Context) => void;
listenerId?: number;
resubTimeoutMs?: number;
isUnsubscribing: boolean;
timeoutId?: NodeJS.Timeout;
options: {
filters: MemcmpFilter[];
commitment?: Commitment;
};
receivingData: boolean;
constructor(subscriptionName: string, accountDiscriminator: string, program: Program, decodeBufferFn: (accountName: string, ix: Buffer) => T, options?: {
filters: MemcmpFilter[];
commitment?: Commitment;
}, resubTimeoutMs?: number);
subscribe(onChange: (accountId: PublicKey, data: T, context: Context) => void): Promise;
private setTimeout;
handleRpcResponse(context: Context, keyedAccountInfo: KeyedAccountInfo): void;
unsubscribe(onResub?: boolean): Promise;
}