/**
 * Starts Android logcat broadcast websocket on the same host and port
 * where Appium server is running at `/ws/session/:sessionId:/appium/logcat` endpoint. The method
 * will return immediately if the web socket is already listening.
 *
 * Each connected websocket listener will receive logcat log lines
 * as soon as they are visible to Appium.
 *
 * @this {import('../driver').AndroidDriver}
 * @returns {Promise<void>}
 */
export function mobileStartLogsBroadcast(this: import("../driver").AndroidDriver): Promise<void>;
export class mobileStartLogsBroadcast {
    _logcatWebsocketListener: ((logRecord: import("appium-adb").LogEntry) => void) | undefined;
}
/**
 * Stops the previously started logcat broadcasting wesocket server.
 * This method will return immediately if no server is running.
 *
 * @this {import('../driver').AndroidDriver}
 * @returns {Promise<void>}
 */
export function mobileStopLogsBroadcast(this: import("../driver").AndroidDriver): Promise<void>;
/**
 * @this {import('../driver').AndroidDriver}
 * @returns {Promise<string[]>}
 */
export function getLogTypes(this: import("../driver").AndroidDriver): Promise<string[]>;
/**
 * https://w3c.github.io/webdriver-bidi/#event-log-entryAdded
 *
 * @template {import('node:events').EventEmitter} EE
 * @this {import('../driver').AndroidDriver}
 * @param {EE} logEmitter
 * @param {BiDiListenerProperties} properties
 * @returns {[EE, LogListener]}
 */
export function assignBiDiLogListener<EE extends import("node:events").EventEmitter>(this: import("../driver").AndroidDriver, logEmitter: EE, properties: BiDiListenerProperties): [EE, LogListener];
/**
 * @this {import('../driver').AndroidDriver}
 * @param {string} logType
 * @returns {Promise<any>}
 */
export function getLog(this: import("../driver").AndroidDriver, logType: string): Promise<any>;
export namespace supportedLogTypes {
    namespace logcat {
        let description: string;
        function getter(self: import("../driver").AndroidDriver): import("appium-adb").LogEntry[];
    }
    namespace bugreport {
        let description_1: string;
        export { description_1 as description };
        export function getter_1(self: import("../driver").AndroidDriver): Promise<import("appium-adb").LogEntry[]>;
        export { getter_1 as getter };
    }
    namespace server {
        let description_2: string;
        export { description_2 as description };
        export function getter_2(self: import("../driver").AndroidDriver): import("appium-adb").LogEntry[];
        export { getter_2 as getter };
    }
}
export type ADB = import("appium-adb").ADB;
export type BiDiListenerProperties = {
    type: string;
    srcEventName?: string | undefined;
    context?: string | undefined;
    entryTransformer?: ((x: any) => import("../utils").LogEntry) | undefined;
};
export type LogListener = (logEntry: import("../utils").LogEntry) => any;
//# sourceMappingURL=log.d.ts.map