import type { HTTPMethod } from '@appium/types';
/**
 * Define the routes: mapping of HTTP methods to particular driver commands, and
 * any parameters that are expected in a request. Parameters can be `required` or
 * `optional`.
 */
export declare const METHOD_MAP: {
    readonly '/session': {
        readonly POST: {
            readonly command: "createSession";
            readonly payloadParams: {
                readonly optional: readonly ["capabilities", "capabilities", "capabilities"];
            };
        };
    };
    readonly '/session/:sessionId': {
        readonly GET: {
            readonly command: "getSession";
            readonly deprecated: true;
        };
        readonly DELETE: {
            readonly command: "deleteSession";
        };
    };
    readonly '/status': {
        readonly GET: {
            readonly command: "getStatus";
        };
    };
    readonly '/session/:sessionId/timeouts': {
        readonly GET: {
            readonly command: "getTimeouts";
        };
        readonly POST: {
            readonly command: "timeouts";
            readonly payloadParams: {
                readonly optional: readonly ["type", "ms", "script", "pageLoad", "implicit"];
            };
        };
    };
    readonly '/session/:sessionId/url': {
        readonly GET: {
            readonly command: "getUrl";
        };
        readonly POST: {
            readonly command: "setUrl";
            readonly payloadParams: {
                readonly required: readonly ["url"];
            };
        };
    };
    readonly '/session/:sessionId/forward': {
        readonly POST: {
            readonly command: "forward";
        };
    };
    readonly '/session/:sessionId/back': {
        readonly POST: {
            readonly command: "back";
        };
    };
    readonly '/session/:sessionId/refresh': {
        readonly POST: {
            readonly command: "refresh";
        };
    };
    readonly '/session/:sessionId/title': {
        readonly GET: {
            readonly command: "title";
        };
    };
    readonly '/session/:sessionId/window': {
        readonly GET: {
            readonly command: "getWindowHandle";
        };
        readonly POST: {
            readonly command: "setWindow";
            readonly payloadParams: {
                readonly required: readonly ["handle"];
            };
        };
        readonly DELETE: {
            readonly command: "closeWindow";
        };
    };
    readonly '/session/:sessionId/window/handles': {
        readonly GET: {
            readonly command: "getWindowHandles";
        };
    };
    readonly '/session/:sessionId/window/new': {
        readonly POST: {
            readonly command: "createNewWindow";
            readonly payloadParams: {
                readonly optional: readonly ["type"];
            };
        };
    };
    readonly '/session/:sessionId/frame': {
        readonly POST: {
            readonly command: "setFrame";
            readonly payloadParams: {
                readonly required: readonly ["id"];
            };
        };
    };
    readonly '/session/:sessionId/frame/parent': {
        readonly POST: {
            readonly command: "switchToParentFrame";
        };
    };
    readonly '/session/:sessionId/window/rect': {
        readonly GET: {
            readonly command: "getWindowRect";
        };
        readonly POST: {
            readonly command: "setWindowRect";
            readonly payloadParams: {
                readonly optional: readonly ["x", "y", "width", "height"];
            };
        };
    };
    readonly '/session/:sessionId/window/maximize': {
        readonly POST: {
            readonly command: "maximizeWindow";
        };
    };
    readonly '/session/:sessionId/window/minimize': {
        readonly POST: {
            readonly command: "minimizeWindow";
        };
    };
    readonly '/session/:sessionId/window/fullscreen': {
        readonly POST: {
            readonly command: "fullScreenWindow";
        };
    };
    readonly '/session/:sessionId/element/active': {
        readonly GET: {
            readonly command: "active";
        };
    };
    readonly '/session/:sessionId/element/:elementId/shadow': {
        readonly GET: {
            readonly command: "elementShadowRoot";
        };
    };
    readonly '/session/:sessionId/element': {
        readonly POST: {
            readonly command: "findElement";
            readonly payloadParams: {
                readonly required: readonly ["using", "value"];
            };
        };
    };
    readonly '/session/:sessionId/elements': {
        readonly POST: {
            readonly command: "findElements";
            readonly payloadParams: {
                readonly required: readonly ["using", "value"];
            };
        };
    };
    readonly '/session/:sessionId/element/:elementId/element': {
        readonly POST: {
            readonly command: "findElementFromElement";
            readonly payloadParams: {
                readonly required: readonly ["using", "value"];
            };
        };
    };
    readonly '/session/:sessionId/element/:elementId/elements': {
        readonly POST: {
            readonly command: "findElementsFromElement";
            readonly payloadParams: {
                readonly required: readonly ["using", "value"];
            };
        };
    };
    readonly '/session/:sessionId/shadow/:shadowId/element': {
        readonly POST: {
            readonly command: "findElementFromShadowRoot";
            readonly payloadParams: {
                readonly required: readonly ["using", "value"];
            };
        };
    };
    readonly '/session/:sessionId/shadow/:shadowId/elements': {
        readonly POST: {
            readonly command: "findElementsFromShadowRoot";
            readonly payloadParams: {
                readonly required: readonly ["using", "value"];
            };
        };
    };
    readonly '/session/:sessionId/element/:elementId/selected': {
        readonly GET: {
            readonly command: "elementSelected";
        };
    };
    readonly '/session/:sessionId/element/:elementId/displayed': {
        readonly GET: {
            readonly command: "elementDisplayed";
        };
    };
    readonly '/session/:sessionId/element/:elementId/attribute/:name': {
        readonly GET: {
            readonly command: "getAttribute";
        };
    };
    readonly '/session/:sessionId/element/:elementId/property/:name': {
        readonly GET: {
            readonly command: "getProperty";
        };
    };
    readonly '/session/:sessionId/element/:elementId/css/:propertyName': {
        readonly GET: {
            readonly command: "getCssProperty";
        };
    };
    readonly '/session/:sessionId/element/:elementId/text': {
        readonly GET: {
            readonly command: "getText";
        };
    };
    readonly '/session/:sessionId/element/:elementId/name': {
        readonly GET: {
            readonly command: "getName";
        };
    };
    readonly '/session/:sessionId/element/:elementId/rect': {
        readonly GET: {
            readonly command: "getElementRect";
        };
    };
    readonly '/session/:sessionId/element/:elementId/enabled': {
        readonly GET: {
            readonly command: "elementEnabled";
        };
    };
    readonly '/session/:sessionId/element/:elementId/computedrole': {
        readonly GET: {
            readonly command: "getComputedRole";
        };
    };
    readonly '/session/:sessionId/element/:elementId/computedlabel': {
        readonly GET: {
            readonly command: "getComputedLabel";
        };
    };
    readonly '/session/:sessionId/element/:elementId/click': {
        readonly POST: {
            readonly command: "click";
        };
    };
    readonly '/session/:sessionId/element/:elementId/clear': {
        readonly POST: {
            readonly command: "clear";
        };
    };
    readonly '/session/:sessionId/element/:elementId/value': {
        readonly POST: {
            readonly command: "setValue";
            readonly payloadParams: {
                readonly required: readonly ["text"];
            };
        };
    };
    readonly '/session/:sessionId/source': {
        readonly GET: {
            readonly command: "getPageSource";
        };
    };
    readonly '/session/:sessionId/execute/sync': {
        readonly POST: {
            readonly command: "execute";
            readonly payloadParams: {
                readonly required: readonly ["script", "args"];
            };
        };
    };
    readonly '/session/:sessionId/execute/async': {
        readonly POST: {
            readonly command: "executeAsync";
            readonly payloadParams: {
                readonly required: readonly ["script", "args"];
            };
        };
    };
    readonly '/session/:sessionId/cookie': {
        readonly GET: {
            readonly command: "getCookies";
        };
        readonly POST: {
            readonly command: "setCookie";
            readonly payloadParams: {
                readonly required: readonly ["cookie"];
            };
        };
        readonly DELETE: {
            readonly command: "deleteCookies";
        };
    };
    readonly '/session/:sessionId/cookie/:name': {
        readonly GET: {
            readonly command: "getCookie";
        };
        readonly DELETE: {
            readonly command: "deleteCookie";
        };
    };
    readonly '/session/:sessionId/actions': {
        readonly POST: {
            readonly command: "performActions";
            readonly payloadParams: {
                readonly required: readonly ["actions"];
            };
        };
        readonly DELETE: {
            readonly command: "releaseActions";
        };
    };
    readonly '/session/:sessionId/alert/dismiss': {
        readonly POST: {
            readonly command: "postDismissAlert";
        };
    };
    readonly '/session/:sessionId/alert/accept': {
        readonly POST: {
            readonly command: "postAcceptAlert";
        };
    };
    readonly '/session/:sessionId/alert/text': {
        readonly GET: {
            readonly command: "getAlertText";
        };
        readonly POST: {
            readonly command: "setAlertText";
            readonly payloadParams: {
                readonly required: readonly ["text"];
            };
        };
    };
    readonly '/session/:sessionId/screenshot': {
        readonly GET: {
            readonly command: "getScreenshot";
        };
    };
    readonly '/session/:sessionId/element/:elementId/screenshot': {
        readonly GET: {
            readonly command: "getElementScreenshot";
        };
    };
    readonly '/session/:sessionId/print': {
        readonly POST: {
            readonly command: "printPage";
            readonly payloadParams: {
                readonly optional: readonly ["orientation", "scale", "background", "page", "margin", "shrinkToFit", "pageRanges"];
            };
        };
    };
    readonly '/session/:sessionId/ime/available_engines': {
        readonly GET: {
            readonly command: "availableIMEEngines";
            readonly deprecated: true;
        };
    };
    readonly '/session/:sessionId/ime/active_engine': {
        readonly GET: {
            readonly command: "getActiveIMEEngine";
            readonly deprecated: true;
        };
    };
    readonly '/session/:sessionId/ime/activated': {
        readonly GET: {
            readonly command: "isIMEActivated";
            readonly deprecated: true;
        };
    };
    readonly '/session/:sessionId/ime/deactivate': {
        readonly POST: {
            readonly command: "deactivateIMEEngine";
            readonly deprecated: true;
        };
    };
    readonly '/session/:sessionId/ime/activate': {
        readonly POST: {
            readonly command: "activateIMEEngine";
            readonly payloadParams: {
                readonly required: readonly ["engine"];
            };
            readonly deprecated: true;
        };
    };
    readonly '/session/:sessionId/orientation': {
        readonly GET: {
            readonly command: "getOrientation";
        };
        readonly POST: {
            readonly command: "setOrientation";
            readonly payloadParams: {
                readonly required: readonly ["orientation"];
            };
        };
    };
    readonly '/session/:sessionId/location': {
        readonly GET: {
            readonly command: "getGeoLocation";
            readonly deprecated: true;
        };
        readonly POST: {
            readonly command: "setGeoLocation";
            readonly payloadParams: {
                readonly required: readonly ["location"];
            };
            readonly deprecated: true;
        };
    };
    readonly '/session/:sessionId/rotation': {
        readonly GET: {
            readonly command: "getRotation";
        };
        readonly POST: {
            readonly command: "setRotation";
            readonly payloadParams: {
                readonly required: readonly ["x", "y", "z"];
            };
        };
    };
    readonly '/session/:sessionId/context': {
        readonly GET: {
            readonly command: "getCurrentContext";
        };
        readonly POST: {
            readonly command: "setContext";
            readonly payloadParams: {
                readonly required: readonly ["name"];
            };
        };
    };
    readonly '/session/:sessionId/contexts': {
        readonly GET: {
            readonly command: "getContexts";
        };
    };
    readonly '/session/:sessionId/network_connection': {
        readonly GET: {
            readonly command: "getNetworkConnection";
            readonly deprecated: true;
        };
        readonly POST: {
            readonly command: "setNetworkConnection";
            readonly payloadParams: {
                readonly unwrap: "parameters";
                readonly required: readonly ["type"];
            };
            readonly deprecated: true;
        };
    };
    readonly '/appium/sessions': {
        readonly GET: {
            readonly command: "getAppiumSessions";
        };
    };
    readonly '/session/:sessionId/appium/capabilities': {
        readonly GET: {
            readonly command: "getAppiumSessionCapabilities";
        };
    };
    readonly '/session/:sessionId/appium/settings': {
        readonly POST: {
            readonly command: "updateSettings";
            readonly payloadParams: {
                readonly required: readonly ["settings"];
            };
        };
        readonly GET: {
            readonly command: "getSettings";
        };
    };
    readonly '/session/:sessionId/appium/commands': {
        readonly GET: {
            readonly command: "listCommands";
        };
    };
    readonly '/session/:sessionId/appium/extensions': {
        readonly GET: {
            readonly command: "listExtensions";
        };
    };
    readonly '/session/:sessionId/appium/events': {
        readonly POST: {
            readonly command: "getLogEvents";
            readonly payloadParams: {
                readonly optional: readonly ["type"];
            };
        };
    };
    readonly '/session/:sessionId/appium/log_event': {
        readonly POST: {
            readonly command: "logCustomEvent";
            readonly payloadParams: {
                readonly required: readonly ["vendor", "event"];
            };
        };
    };
    readonly '/session/:sessionId/appium/device/system_time': {
        readonly GET: {
            readonly command: "getDeviceTime";
        };
        readonly POST: {
            readonly command: "getDeviceTime";
            readonly payloadParams: {
                readonly optional: readonly ["format"];
            };
        };
    };
    readonly '/session/:sessionId/appium/device/activate_app': {
        readonly POST: {
            readonly command: "activateApp";
            readonly payloadParams: {
                readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
                readonly optional: readonly ["options"];
            };
        };
    };
    readonly '/session/:sessionId/appium/device/terminate_app': {
        readonly POST: {
            readonly command: "terminateApp";
            readonly payloadParams: {
                readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
                readonly optional: readonly ["options"];
            };
        };
    };
    readonly '/session/:sessionId/appium/device/app_state': {
        readonly POST: {
            readonly command: "queryAppState";
            readonly payloadParams: {
                readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
            };
        };
    };
    readonly '/session/:sessionId/appium/device/install_app': {
        readonly POST: {
            readonly command: "installApp";
            readonly payloadParams: {
                readonly required: readonly ["appPath"];
                readonly optional: readonly ["options"];
            };
        };
    };
    readonly '/session/:sessionId/appium/device/remove_app': {
        readonly POST: {
            readonly command: "removeApp";
            readonly payloadParams: {
                readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
                readonly optional: readonly ["options"];
            };
        };
    };
    readonly '/session/:sessionId/appium/device/app_installed': {
        readonly POST: {
            readonly command: "isAppInstalled";
            readonly payloadParams: {
                readonly required: readonly [readonly ["appId"], readonly ["bundleId"]];
            };
        };
    };
    readonly '/session/:sessionId/appium/device/hide_keyboard': {
        readonly POST: {
            readonly command: "hideKeyboard";
            readonly payloadParams: {
                readonly optional: readonly ["strategy", "key", "keyCode", "keyName"];
            };
        };
    };
    readonly '/session/:sessionId/appium/device/is_keyboard_shown': {
        readonly GET: {
            readonly command: "isKeyboardShown";
        };
    };
    readonly '/session/:sessionId/appium/device/push_file': {
        readonly POST: {
            readonly command: "pushFile";
            readonly payloadParams: {
                readonly required: readonly ["path", "data"];
            };
        };
    };
    readonly '/session/:sessionId/appium/device/pull_file': {
        readonly POST: {
            readonly command: "pullFile";
            readonly payloadParams: {
                readonly required: readonly ["path"];
            };
        };
    };
    readonly '/session/:sessionId/appium/device/pull_folder': {
        readonly POST: {
            readonly command: "pullFolder";
            readonly payloadParams: {
                readonly required: readonly ["path"];
            };
        };
    };
    readonly '/session/:sessionId/receive_async_response': {
        readonly POST: {
            readonly command: "receiveAsyncResponse";
            readonly payloadParams: {
                readonly required: readonly ["status", "value"];
            };
            readonly deprecated: true;
        };
    };
    readonly '/session/:sessionId/element/:elementId': {
        readonly GET: {};
    };
    readonly '/session/:sessionId/se/log': {
        readonly POST: {
            readonly command: "getLog";
            readonly payloadParams: {
                readonly required: readonly ["type"];
            };
        };
    };
    readonly '/session/:sessionId/se/log/types': {
        readonly GET: {
            readonly command: "getLogTypes";
        };
    };
    readonly '/session/:sessionId/:vendor/cdp/execute': {
        readonly POST: {
            readonly command: "executeCdp";
            readonly payloadParams: {
                readonly required: readonly ["cmd", "params"];
            };
        };
    };
    readonly '/session/:sessionId/reporting/generate_test_report': {
        readonly POST: {
            readonly command: "generateTestReport";
            readonly payloadParams: {
                readonly required: readonly ["message"];
                readonly optional: readonly ["group"];
            };
        };
    };
    readonly '/session/:sessionId/permissions': {
        readonly POST: {
            readonly command: "setPermissions";
            readonly payloadParams: {
                readonly required: readonly ["descriptor", "state"];
            };
        };
    };
    readonly '/session/:sessionId/deviceposture': {
        readonly POST: {
            readonly command: "setDevicePosture";
            readonly payloadParams: {
                readonly required: readonly ["posture"];
            };
        };
        readonly DELETE: {
            readonly command: "clearDevicePosture";
        };
    };
    readonly '/session/:sessionId/sensor': {
        readonly POST: {
            readonly command: "createVirtualSensor";
            readonly payloadParams: {
                readonly required: readonly ["type"];
                readonly optional: readonly ["connected", "maxSamplingFrequency", "minSamplingFrequency"];
            };
        };
    };
    readonly '/session/:sessionId/sensors/:sensorType': {
        readonly GET: {
            readonly command: "getVirtualSensorInfo";
        };
        readonly POST: {
            readonly command: "updateVirtualSensorReading";
            readonly payloadParams: {
                readonly required: readonly ["reading"];
            };
        };
        readonly DELETE: {
            readonly command: "deleteVirtualSensor";
        };
    };
    readonly '/session/:sessionId/custom-handlers/set-mode': {
        readonly POST: {
            readonly command: "setRPHRegistrationMode";
            readonly payloadParams: {
                readonly required: readonly ["mode"];
            };
        };
    };
    readonly '/session/:sessionId/webauthn/authenticator': {
        readonly POST: {
            readonly command: "addVirtualAuthenticator";
            readonly payloadParams: {
                readonly required: readonly ["protocol", "transport"];
                readonly optional: readonly ["hasResidentKey", "hasUserVerification", "isUserConsenting", "isUserVerified"];
            };
        };
    };
    readonly '/session/:sessionId/webauthn/authenticator/:authenticatorId': {
        readonly DELETE: {
            readonly command: "removeVirtualAuthenticator";
        };
    };
    readonly '/session/:sessionId/webauthn/authenticator/:authenticatorId/credential': {
        readonly POST: {
            readonly command: "addAuthCredential";
            readonly payloadParams: {
                readonly required: readonly ["credentialId", "isResidentCredential", "rpId", "privateKey"];
                readonly optional: readonly ["userHandle", "signCount"];
            };
        };
    };
    readonly '/session/:sessionId/webauthn/authenticator/:authenticatorId/credentials': {
        readonly GET: {
            readonly command: "getAuthCredential";
        };
        readonly DELETE: {
            readonly command: "removeAllAuthCredentials";
        };
    };
    readonly '/session/:sessionId/webauthn/authenticator/:authenticatorId/credentials/:credentialId': {
        readonly DELETE: {
            readonly command: "removeAuthCredential";
        };
    };
    readonly '/session/:sessionId/webauthn/authenticator/:authenticatorId/uv': {
        readonly POST: {
            readonly command: "setUserAuthVerified";
            readonly payloadParams: {
                readonly required: readonly ["isUserVerified"];
            };
        };
    };
    readonly '/session/:sessionId/secure-payment-confirmation/set-mode': {
        readonly POST: {
            readonly command: "setSPCTransactionMode";
            readonly payloadParams: {
                readonly required: readonly ["mode"];
            };
        };
    };
    readonly '/session/:sessionId/fedcm/canceldialog': {
        readonly POST: {
            readonly command: "fedCMCancelDialog";
        };
    };
    readonly '/session/:sessionId/fedcm/selectaccount': {
        readonly POST: {
            readonly command: "fedCMSelectAccount";
            readonly payloadParams: {
                readonly required: readonly ["accountIndex"];
            };
        };
    };
    readonly '/session/:sessionId/fedcm/clickdialogbutton': {
        readonly POST: {
            readonly command: "fedCMClickDialogButton";
            readonly payloadParams: {
                readonly required: readonly ["dialogButton"];
            };
        };
    };
    readonly '/session/:sessionId/fedcm/accountlist': {
        readonly GET: {
            readonly command: "fedCMGetAccounts";
        };
    };
    readonly '/session/:sessionId/fedcm/gettitle': {
        readonly GET: {
            readonly command: "fedCMGetTitle";
        };
    };
    readonly '/session/:sessionId/fedcm/getdialogtype': {
        readonly GET: {
            readonly command: "fedCMGetDialogType";
        };
    };
    readonly '/session/:sessionId/fedcm/setdelayenabled': {
        readonly POST: {
            readonly command: "fedCMSetDelayEnabled";
            readonly payloadParams: {
                readonly required: readonly ["enabled"];
            };
        };
    };
    readonly '/session/:sessionId/fedcm/resetcooldown': {
        readonly POST: {
            readonly command: "fedCMResetCooldown";
        };
    };
    readonly '/session/:sessionId/pressuresource': {
        readonly POST: {
            readonly command: "createVirtualPressureSource";
            readonly payloadParams: {
                readonly required: readonly ["type"];
                readonly optional: readonly ["supported"];
            };
        };
    };
    readonly '/session/:sessionId/pressuresource/:pressureSourceType': {
        readonly POST: {
            readonly command: "updateVirtualPressureSource";
            readonly payloadParams: {
                readonly required: readonly ["sample"];
            };
        };
        readonly DELETE: {
            readonly command: "deleteVirtualPressureSource";
        };
    };
    readonly '/session/:sessionId/privacy': {
        readonly GET: {
            readonly command: "getGlobalPrivacyControl";
        };
        readonly POST: {
            readonly command: "setGlobalPrivacyControl";
            readonly payloadParams: {
                readonly required: readonly ["gpc"];
            };
        };
    };
    readonly '/session/:sessionId/storageaccess': {
        readonly POST: {
            readonly command: "setStorageAccess";
            readonly payloadParams: {
                readonly required: readonly ["blocked", "origin"];
            };
        };
    };
};
export declare const ALL_COMMANDS: any[];
/**
 * Resolve a WebDriver URL path and HTTP method to a driver command name from {@link METHOD_MAP}.
 * @param endpoint - Request URL or path (may include base path)
 * @param method - HTTP method (used when one path maps to multiple commands)
 * @param basePath - Optional base path prefix to strip before matching
 */
export declare function routeToCommandName(endpoint: string, method?: HTTPMethod, basePath?: string): string | undefined;
export declare const NO_SESSION_ID_COMMANDS: string[];
//# sourceMappingURL=routes.d.ts.map