///
///
import { EventEmitter } from 'events';
import { Logger } from 'ilp-logger';
import { Connection, ConnectionOpts } from './connection';
import { Plugin } from './util/plugin-interface';
export interface ServerOpts extends ConnectionOpts {
serverSecret?: Buffer;
disconnectDelay?: number;
}
export interface GenerateAddressSecretOpts {
connectionTag?: string;
receiptNonce?: Buffer;
receiptSecret?: Buffer;
}
export declare class Server extends EventEmitter {
protected serverSecret: Buffer;
protected plugin: Plugin;
protected log: Logger;
protected connectionOpts: ConnectionOpts;
protected pendingRequests: Promise;
protected disconnectDelay: number;
private pool?;
constructor(opts: ServerOpts);
get connected(): boolean;
listen(): Promise;
close(): Promise;
acceptConnection(): Promise;
generateAddressAndSecret(opts?: string | GenerateAddressSecretOpts): {
destinationAccount: string;
sharedSecret: Buffer;
receiptsEnabled: boolean;
};
get assetCode(): string;
get assetScale(): number;
protected handleData(data: Buffer): Promise;
}
export declare function createServer(opts: ServerOpts): Promise;