import { PROTOCOLS } from '@appium/base-driver';
import type { ChromedriverCommandContext } from './types';
export type SessionCapabilities = Record<string, any>;
/**
 * Converts a capability name to W3C format by adding the 'goog:' prefix if needed.
 */
export declare function toW3cCapName(capName: string): string;
/**
 * Gets a capability value from a capabilities object, handling both standard and W3C format names.
 */
export declare function getCapValue(allCaps: Record<string, any> | undefined, rawCapName: string, defaultValue?: any): any;
/**
 * Converts all capability names in an object to W3C format.
 */
export declare function toW3cCapNames(originalCaps?: Record<string, any>): Record<string, any>;
/**
 * Creates a new Chromedriver session using the negotiated downstream protocol.
 */
export declare function startSession(this: ChromedriverCommandContext): Promise<SessionCapabilities>;
/**
 * Chooses W3C or MJSONWP protocol based on driver/capability constraints.
 */
export declare function syncProtocol(this: ChromedriverCommandContext): keyof typeof PROTOCOLS;
/**
 * Updates driver state and emits state-change event payload.
 */
export declare function changeState(this: ChromedriverCommandContext, state: string): void;
//# sourceMappingURL=session.d.ts.map