# Licensed to the Software Freedom Conservancy (SFC) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The SFC licenses this file
# to you 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 automatically generated. DO NOT EDIT!
# Regenerate with: bazel run //rb/lib/selenium/webdriver:bidi-generate

module Selenium
  module WebDriver
    class BiDi
      module Protocol
        class Storage < ::Selenium::WebDriver::BiDi::Protocol::Domain
          class PartitionKey < ::Selenium::WebDriver::BiDi::Serialization::Record
            attr_reader user_context: untyped
            attr_reader source_origin: untyped
            attr_reader extensions: Hash[String, untyped]
            def self.new: (?user_context: String, ?source_origin: String, ?extensions: untyped) -> instance
          end

          class CookieFilter < ::Selenium::WebDriver::BiDi::Serialization::Record
            attr_reader name: untyped
            attr_reader value: untyped
            attr_reader domain: untyped
            attr_reader path: untyped
            attr_reader size: untyped
            attr_reader http_only: untyped
            attr_reader secure: untyped
            attr_reader same_site: untyped
            attr_reader expiry: untyped
            attr_reader extensions: Hash[String, untyped]
            def self.new: (?name: String, ?value: ::Selenium::WebDriver::BiDi::Protocol::Network::BytesValue, ?domain: String, ?path: String, ?size: Integer, ?http_only: bool, ?secure: bool, ?same_site: Symbol, ?expiry: Integer, ?extensions: untyped) -> instance
          end

          class BrowsingContextPartitionDescriptor < ::Selenium::WebDriver::BiDi::Serialization::Record
            attr_reader type: String
            attr_reader context: String
            def self.new: (?type: String, context: String) -> instance
          end

          class StorageKeyPartitionDescriptor < ::Selenium::WebDriver::BiDi::Serialization::Record
            attr_reader type: String
            attr_reader user_context: untyped
            attr_reader source_origin: untyped
            attr_reader extensions: Hash[String, untyped]
            def self.new: (?type: String, ?user_context: String, ?source_origin: String, ?extensions: untyped) -> instance
          end

          class PartitionDescriptor < ::Selenium::WebDriver::BiDi::Serialization::Union
          end

          class GetCookiesParameters < ::Selenium::WebDriver::BiDi::Serialization::Record
            attr_reader filter: untyped
            attr_reader partition: untyped
            def self.new: (?filter: ::Selenium::WebDriver::BiDi::Protocol::Storage::CookieFilter, ?partition: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionDescriptor) -> instance
          end

          class GetCookiesResult < ::Selenium::WebDriver::BiDi::Serialization::Record
            attr_reader cookies: Array[::Selenium::WebDriver::BiDi::Protocol::Network::Cookie]
            attr_reader partition_key: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionKey
            def self.new: (cookies: Array[::Selenium::WebDriver::BiDi::Protocol::Network::Cookie], partition_key: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionKey) -> instance
          end

          class PartialCookie < ::Selenium::WebDriver::BiDi::Serialization::Record
            attr_reader name: String
            attr_reader value: ::Selenium::WebDriver::BiDi::Protocol::Network::BytesValue
            attr_reader domain: String
            attr_reader path: untyped
            attr_reader http_only: untyped
            attr_reader secure: untyped
            attr_reader same_site: untyped
            attr_reader expiry: untyped
            attr_reader extensions: Hash[String, untyped]
            def self.new: (name: String, value: ::Selenium::WebDriver::BiDi::Protocol::Network::BytesValue, domain: String, ?path: String, ?http_only: bool, ?secure: bool, ?same_site: Symbol, ?expiry: Integer, ?extensions: untyped) -> instance
          end

          class SetCookieParameters < ::Selenium::WebDriver::BiDi::Serialization::Record
            attr_reader cookie: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartialCookie
            attr_reader partition: untyped
            def self.new: (cookie: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartialCookie, ?partition: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionDescriptor) -> instance
          end

          class SetCookieResult < ::Selenium::WebDriver::BiDi::Serialization::Record
            attr_reader partition_key: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionKey
            def self.new: (partition_key: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionKey) -> instance
          end

          class DeleteCookiesParameters < ::Selenium::WebDriver::BiDi::Serialization::Record
            attr_reader filter: untyped
            attr_reader partition: untyped
            def self.new: (?filter: ::Selenium::WebDriver::BiDi::Protocol::Storage::CookieFilter, ?partition: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionDescriptor) -> instance
          end

          class DeleteCookiesResult < ::Selenium::WebDriver::BiDi::Serialization::Record
            attr_reader partition_key: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionKey
            def self.new: (partition_key: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionKey) -> instance
          end

          def delete_cookies: (?filter: ::Selenium::WebDriver::BiDi::Protocol::Storage::CookieFilter, ?partition: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionDescriptor) -> ::Selenium::WebDriver::BiDi::Protocol::Storage::DeleteCookiesResult
          def get_cookies: (?filter: ::Selenium::WebDriver::BiDi::Protocol::Storage::CookieFilter, ?partition: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionDescriptor) -> ::Selenium::WebDriver::BiDi::Protocol::Storage::GetCookiesResult
          def set_cookie: (cookie: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartialCookie, ?partition: ::Selenium::WebDriver::BiDi::Protocol::Storage::PartitionDescriptor) -> ::Selenium::WebDriver::BiDi::Protocol::Storage::SetCookieResult
        end
      end
    end
  end
end
