import { AgentService, AuthParams, PresenceParams } from './Agent.service';
declare enum BehaviorClass {
    Default = "Default",
    OnDetect = "OnDetect"
}
export declare class Presence extends AgentService {
    protected behaviorClass: BehaviorClass;
    protected presence: PresenceParams;
    static readonly presenceAuthorizedEvent = "presenceAuthorized";
    constructor(auth: AuthParams, presence: PresenceParams);
    protected logger(event: string, data: any): void;
    connect(): Promise<void>;
    lookupVisitor(): Promise<void>;
    disconnect(): Promise<void>;
    protected behavior(): void;
    protected removeBehavior(): void;
    updateVisitorId(visitorId: string): void;
}
export declare class PresenceDetect extends Presence {
    protected connected: {
        prevState: boolean;
        curState: boolean;
    };
    static readonly visitorConnectedEvent = "visitorConnected";
    static readonly presenceEvent = "presence";
    static readonly presenceSessionStartEvent = "presenceSessionStart";
    static readonly presenceSessionEndEvent = "presenceSessionEnd";
    static readonly visitorSockEvent = "visitorSock";
    static readonly lookupFoundEvent = "lookupFound";
    static readonly viewerOpenedEvent = "viewerOpened";
    protected inSession: boolean;
    protected _sessionId: number;
    constructor(auth: AuthParams, presence: PresenceParams);
    get sessionId(): number;
    resetSessionId(): void;
    protected logger(event: string, data: any): void;
    private updateState;
    private alert;
    protected behavior(): void;
    protected removeBehavior(): void;
}
export {};
