import { IAuthenticator, AuthenticationOptions } from '@citrineos/base';
import { ILogObj, Logger } from 'tslog';
import { IncomingMessage } from 'http';
import { UnknownStationFilter } from './UnknownStationFilter';
import { BasicAuthenticationFilter } from './BasicAuthenticationFilter';
import { ConnectedStationFilter } from './ConnectedStationFilter';
import { NetworkProfileFilter } from './NetworkProfileFilter';
export declare class Authenticator implements IAuthenticator {
    protected _logger: Logger<ILogObj>;
    private _unknownStationFilter;
    private _connectedStationFilter;
    private _networkProfileFilter;
    private _basicAuthenticationFilter;
    constructor(unknownStationFilter: UnknownStationFilter, connectedStationFilter: ConnectedStationFilter, networkProfileFilter: NetworkProfileFilter, basicAuthenticationFilter: BasicAuthenticationFilter, logger?: Logger<ILogObj>);
    authenticate(request: IncomingMessage, options: AuthenticationOptions): Promise<{
        identifier: string;
    }>;
    private _getClientIdFromUrl;
}
