/**
 * Copyright 2026 Google LLC.
 * Copyright (c) Microsoft Corporation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
 * THIS FILE IS AUTOGENERATED by cddlconv 0.2.0.
 * Run `tools/update_bidi_types.py` to regenerate.
 * @see https://github.com/w3c/webdriver-bidi/blob/master/index.bs
 */
import * as z from 'zod';
export declare namespace Bluetooth {
    const BluetoothUuidSchema: z.ZodLazy<z.ZodString>;
}
export declare namespace Bluetooth {
    const BluetoothManufacturerDataSchema: z.ZodLazy<z.ZodObject<{
        key: z.ZodNumber;
        data: z.ZodString;
    }>>;
}
export declare namespace Bluetooth {
    const CharacteristicPropertiesSchema: z.ZodLazy<z.ZodObject<{
        broadcast: z.ZodOptional<z.ZodBoolean>;
        read: z.ZodOptional<z.ZodBoolean>;
        writeWithoutResponse: z.ZodOptional<z.ZodBoolean>;
        write: z.ZodOptional<z.ZodBoolean>;
        notify: z.ZodOptional<z.ZodBoolean>;
        indicate: z.ZodOptional<z.ZodBoolean>;
        authenticatedSignedWrites: z.ZodOptional<z.ZodBoolean>;
        extendedProperties: z.ZodOptional<z.ZodBoolean>;
    }>>;
}
export declare namespace Bluetooth {
    const RequestDeviceSchema: z.ZodLazy<z.ZodString>;
}
export declare namespace Bluetooth {
    const RequestDeviceInfoSchema: z.ZodLazy<z.ZodObject<{
        id: typeof Bluetooth.RequestDeviceSchema;
        name: z.ZodUnion<readonly [z.ZodString, z.ZodNull]>;
    }>>;
}
export declare namespace Bluetooth {
    const RequestDevicePromptSchema: z.ZodLazy<z.ZodString>;
}
export declare namespace Bluetooth {
    const ScanRecordSchema: z.ZodLazy<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        uuids: z.ZodOptional<z.ZodArray<typeof Bluetooth.BluetoothUuidSchema>>;
        appearance: z.ZodOptional<z.ZodNumber>;
        manufacturerData: z.ZodOptional<z.ZodArray<typeof Bluetooth.BluetoothManufacturerDataSchema>>;
    }>>;
}
export declare const BluetoothCommandSchema: z.ZodLazy<z.ZodUnion<readonly [
    typeof Bluetooth.HandleRequestDevicePromptSchema,
    typeof Bluetooth.SimulateAdapterSchema,
    typeof Bluetooth.DisableSimulationSchema,
    typeof Bluetooth.SimulatePreconnectedPeripheralSchema,
    typeof Bluetooth.SimulateAdvertisementSchema,
    typeof Bluetooth.SimulateGattConnectionResponseSchema,
    typeof Bluetooth.SimulateGattDisconnectionSchema,
    typeof Bluetooth.SimulateServiceSchema,
    typeof Bluetooth.SimulateCharacteristicSchema,
    typeof Bluetooth.SimulateCharacteristicResponseSchema,
    typeof Bluetooth.SimulateDescriptorSchema,
    typeof Bluetooth.SimulateDescriptorResponseSchema
]>>;
export declare namespace Bluetooth {
    const HandleRequestDevicePromptSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.handleRequestDevicePrompt'>;
        params: typeof Bluetooth.HandleRequestDevicePromptParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const HandleRequestDevicePromptParametersSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
        context: z.ZodString;
        prompt: typeof Bluetooth.RequestDevicePromptSchema;
    }>, z.ZodUnion<readonly [
        typeof Bluetooth.HandleRequestDevicePromptAcceptParametersSchema,
        typeof Bluetooth.HandleRequestDevicePromptCancelParametersSchema
    ]>>>;
}
export declare namespace Bluetooth {
    const HandleRequestDevicePromptAcceptParametersSchema: z.ZodLazy<z.ZodObject<{
        accept: z.ZodLiteral<true>;
        device: typeof Bluetooth.RequestDeviceSchema;
    }>>;
}
export declare namespace Bluetooth {
    const HandleRequestDevicePromptCancelParametersSchema: z.ZodLazy<z.ZodObject<{
        accept: z.ZodLiteral<false>;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateAdapterSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.simulateAdapter'>;
        params: typeof Bluetooth.SimulateAdapterParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateAdapterParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        leSupported: z.ZodOptional<z.ZodBoolean>;
        state: z.ZodEnum<{
            absent: 'absent';
            'powered-off': 'powered-off';
            'powered-on': 'powered-on';
        }>;
    }>>;
}
export declare namespace Bluetooth {
    const DisableSimulationSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.disableSimulation'>;
        params: typeof Bluetooth.DisableSimulationParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const DisableSimulationParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
    }>>;
}
export declare namespace Bluetooth {
    const SimulatePreconnectedPeripheralSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.simulatePreconnectedPeripheral'>;
        params: typeof Bluetooth.SimulatePreconnectedPeripheralParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulatePreconnectedPeripheralParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        address: z.ZodString;
        name: z.ZodString;
        manufacturerData: z.ZodArray<typeof Bluetooth.BluetoothManufacturerDataSchema>;
        knownServiceUuids: z.ZodArray<typeof Bluetooth.BluetoothUuidSchema>;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateAdvertisementSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.simulateAdvertisement'>;
        params: typeof Bluetooth.SimulateAdvertisementParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateAdvertisementParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        scanEntry: typeof Bluetooth.SimulateAdvertisementScanEntryParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateAdvertisementScanEntryParametersSchema: z.ZodLazy<z.ZodObject<{
        deviceAddress: z.ZodString;
        rssi: z.ZodNumber;
        scanRecord: typeof Bluetooth.ScanRecordSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateGattConnectionResponseSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.simulateGattConnectionResponse'>;
        params: typeof Bluetooth.SimulateGattConnectionResponseParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateGattConnectionResponseParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        address: z.ZodString;
        code: z.ZodNumber;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateGattDisconnectionSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.simulateGattDisconnection'>;
        params: typeof Bluetooth.SimulateGattDisconnectionParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateGattDisconnectionParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        address: z.ZodString;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateServiceSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.simulateService'>;
        params: typeof Bluetooth.SimulateServiceParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateServiceParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        address: z.ZodString;
        uuid: typeof Bluetooth.BluetoothUuidSchema;
        type: z.ZodEnum<{
            add: 'add';
            remove: 'remove';
        }>;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateCharacteristicSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.simulateCharacteristic'>;
        params: typeof Bluetooth.SimulateCharacteristicParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateCharacteristicParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        address: z.ZodString;
        serviceUuid: typeof Bluetooth.BluetoothUuidSchema;
        characteristicUuid: typeof Bluetooth.BluetoothUuidSchema;
        characteristicProperties: z.ZodOptional<typeof Bluetooth.CharacteristicPropertiesSchema>;
        type: z.ZodEnum<{
            add: 'add';
            remove: 'remove';
        }>;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateCharacteristicResponseSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.simulateCharacteristicResponse'>;
        params: typeof Bluetooth.SimulateCharacteristicResponseParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateCharacteristicResponseParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        address: z.ZodString;
        serviceUuid: typeof Bluetooth.BluetoothUuidSchema;
        characteristicUuid: typeof Bluetooth.BluetoothUuidSchema;
        type: z.ZodEnum<{
            read: 'read';
            write: 'write';
            'subscribe-to-notifications': 'subscribe-to-notifications';
            'unsubscribe-from-notifications': 'unsubscribe-from-notifications';
        }>;
        code: z.ZodNumber;
        data: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateDescriptorSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.simulateDescriptor'>;
        params: typeof Bluetooth.SimulateDescriptorParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateDescriptorParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        address: z.ZodString;
        serviceUuid: typeof Bluetooth.BluetoothUuidSchema;
        characteristicUuid: typeof Bluetooth.BluetoothUuidSchema;
        descriptorUuid: typeof Bluetooth.BluetoothUuidSchema;
        type: z.ZodEnum<{
            add: 'add';
            remove: 'remove';
        }>;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateDescriptorResponseSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.simulateDescriptorResponse'>;
        params: typeof Bluetooth.SimulateDescriptorResponseParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const SimulateDescriptorResponseParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        address: z.ZodString;
        serviceUuid: typeof Bluetooth.BluetoothUuidSchema;
        characteristicUuid: typeof Bluetooth.BluetoothUuidSchema;
        descriptorUuid: typeof Bluetooth.BluetoothUuidSchema;
        type: z.ZodEnum<{
            read: 'read';
            write: 'write';
        }>;
        code: z.ZodNumber;
        data: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
    }>>;
}
export declare const BluetoothEventSchema: z.ZodLazy<z.ZodUnion<readonly [
    typeof Bluetooth.RequestDevicePromptUpdatedSchema,
    typeof Bluetooth.GattConnectionAttemptedSchema
]>>;
export declare namespace Bluetooth {
    const RequestDevicePromptUpdatedSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.requestDevicePromptUpdated'>;
        params: typeof Bluetooth.RequestDevicePromptUpdatedParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const RequestDevicePromptUpdatedParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        prompt: typeof Bluetooth.RequestDevicePromptSchema;
        devices: z.ZodArray<typeof Bluetooth.RequestDeviceInfoSchema>;
    }>>;
}
export declare namespace Bluetooth {
    const GattConnectionAttemptedSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.gattConnectionAttempted'>;
        params: typeof Bluetooth.GattConnectionAttemptedParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const GattConnectionAttemptedParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        address: z.ZodString;
    }>>;
}
export declare namespace Bluetooth {
    const CharacteristicEventGeneratedSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.characteristicEventGenerated'>;
        params: typeof Bluetooth.CharacteristicEventGeneratedParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const CharacteristicEventGeneratedParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        address: z.ZodString;
        serviceUuid: typeof Bluetooth.BluetoothUuidSchema;
        characteristicUuid: typeof Bluetooth.BluetoothUuidSchema;
        type: z.ZodEnum<{
            read: 'read';
            'write-with-response': 'write-with-response';
            'write-without-response': 'write-without-response';
            'subscribe-to-notifications': 'subscribe-to-notifications';
            'unsubscribe-from-notifications': 'unsubscribe-from-notifications';
        }>;
        data: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
    }>>;
}
export declare namespace Bluetooth {
    const DescriptorEventGeneratedSchema: z.ZodLazy<z.ZodObject<{
        method: z.ZodLiteral<'bluetooth.descriptorEventGenerated'>;
        params: typeof Bluetooth.DescriptorEventGeneratedParametersSchema;
    }>>;
}
export declare namespace Bluetooth {
    const DescriptorEventGeneratedParametersSchema: z.ZodLazy<z.ZodObject<{
        context: z.ZodString;
        address: z.ZodString;
        serviceUuid: typeof Bluetooth.BluetoothUuidSchema;
        characteristicUuid: typeof Bluetooth.BluetoothUuidSchema;
        descriptorUuid: typeof Bluetooth.BluetoothUuidSchema;
        type: z.ZodEnum<{
            read: 'read';
            write: 'write';
        }>;
        data: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
    }>>;
}
