import * as Twitter from '@frizz925/twitter';
import * as TweetParser from 'gbf-raidfinder-parser';
import BossFilter from './BossFilter';
import Tweet from './Tweet';
import TwitterCredentials from './TwitterCredentials';
export interface BossParameter {
    [key: string]: string;
}
export declare type BossParameters = Array<BossParameter | string> | BossParameter | string;
export declare type StreamCallback = (error: Error | null, tweet: TweetParser.RaidTweet | null, stream: Twitter.Stream) => void;
export default class Raidfinder {
    private client;
    private builder;
    constructor(credentials?: TwitterCredentials);
    loadCredentialsFromEnv(): TwitterCredentials;
    stream(bosses: BossParameters, callback: StreamCallback): Twitter.Stream;
    filter(tweet: Tweet): boolean;
    parse(tweet: Tweet): TweetParser.RaidTweet;
    protected parameterToFilter(boss: BossParameter | string): BossFilter | string;
}
