import { EventEmitter } from 'events';
import { ServerAddress, Credentials, SearchQuery, SearchResult, DownloadOptions, SlskClientInterface } from './types';
export declare class SlskClient extends EventEmitter implements SlskClientInterface {
    private serverAddress;
    private sharedFolders;
    constructor(serverAddress: ServerAddress, sharedFolders: string[]);
    init(cb: (err?: Error) => void): void;
    private connectToPeer;
    login(credentials: Credentials, cb: (err?: Error) => void): void;
    search(obj: SearchQuery, cb: (err: Error | null, results: SearchResult[]) => void): void;
    download(obj: DownloadOptions, cb: (err: Error | null, data?: any) => void, streamParam?: NodeJS.ReadableStream): EventEmitter;
    downloadStream(obj: DownloadOptions, cb: (err: Error | null, stream?: NodeJS.ReadableStream) => void): void;
    destroy(): void;
}
//# sourceMappingURL=slsk-client.d.ts.map