//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use crate::common::*;
use crate::AppKit::*;
use crate::Foundation::*;
use crate::WebKit::*;

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    #[cfg(feature = "WebKit_DOMHTMLDocument")]
    #[deprecated]
    pub struct DOMHTMLDocument;

    #[cfg(feature = "WebKit_DOMHTMLDocument")]
    unsafe impl ClassType for DOMHTMLDocument {
        #[inherits(DOMNode, DOMObject, WebScriptObject, NSObject)]
        type Super = DOMDocument;
        type Mutability = InteriorMutable;
    }
);

#[cfg(feature = "WebKit_DOMHTMLDocument")]
unsafe impl DOMEventTarget for DOMHTMLDocument {}

#[cfg(feature = "WebKit_DOMHTMLDocument")]
unsafe impl NSCopying for DOMHTMLDocument {}

#[cfg(feature = "WebKit_DOMHTMLDocument")]
unsafe impl NSObjectProtocol for DOMHTMLDocument {}

extern_methods!(
    #[cfg(feature = "WebKit_DOMHTMLDocument")]
    unsafe impl DOMHTMLDocument {
        #[cfg(feature = "WebKit_DOMHTMLCollection")]
        #[method_id(@__retain_semantics Other embeds)]
        pub unsafe fn embeds(&self) -> Option<Id<DOMHTMLCollection>>;

        #[cfg(feature = "WebKit_DOMHTMLCollection")]
        #[method_id(@__retain_semantics Other plugins)]
        pub unsafe fn plugins(&self) -> Option<Id<DOMHTMLCollection>>;

        #[cfg(feature = "WebKit_DOMHTMLCollection")]
        #[method_id(@__retain_semantics Other scripts)]
        pub unsafe fn scripts(&self) -> Option<Id<DOMHTMLCollection>>;

        #[method(width)]
        pub unsafe fn width(&self) -> c_int;

        #[method(height)]
        pub unsafe fn height(&self) -> c_int;

        #[cfg(feature = "Foundation_NSString")]
        #[method_id(@__retain_semantics Other dir)]
        pub unsafe fn dir(&self) -> Id<NSString>;

        #[cfg(feature = "Foundation_NSString")]
        #[method(setDir:)]
        pub unsafe fn setDir(&self, dir: Option<&NSString>);

        #[cfg(feature = "Foundation_NSString")]
        #[method_id(@__retain_semantics Other designMode)]
        pub unsafe fn designMode(&self) -> Id<NSString>;

        #[cfg(feature = "Foundation_NSString")]
        #[method(setDesignMode:)]
        pub unsafe fn setDesignMode(&self, design_mode: Option<&NSString>);

        #[cfg(feature = "Foundation_NSString")]
        #[method_id(@__retain_semantics Other compatMode)]
        pub unsafe fn compatMode(&self) -> Id<NSString>;

        #[cfg(feature = "Foundation_NSString")]
        #[method_id(@__retain_semantics Other bgColor)]
        pub unsafe fn bgColor(&self) -> Id<NSString>;

        #[cfg(feature = "Foundation_NSString")]
        #[method(setBgColor:)]
        pub unsafe fn setBgColor(&self, bg_color: Option<&NSString>);

        #[cfg(feature = "Foundation_NSString")]
        #[method_id(@__retain_semantics Other fgColor)]
        pub unsafe fn fgColor(&self) -> Id<NSString>;

        #[cfg(feature = "Foundation_NSString")]
        #[method(setFgColor:)]
        pub unsafe fn setFgColor(&self, fg_color: Option<&NSString>);

        #[cfg(feature = "Foundation_NSString")]
        #[method_id(@__retain_semantics Other alinkColor)]
        pub unsafe fn alinkColor(&self) -> Id<NSString>;

        #[cfg(feature = "Foundation_NSString")]
        #[method(setAlinkColor:)]
        pub unsafe fn setAlinkColor(&self, alink_color: Option<&NSString>);

        #[cfg(feature = "Foundation_NSString")]
        #[method_id(@__retain_semantics Other linkColor)]
        pub unsafe fn linkColor(&self) -> Id<NSString>;

        #[cfg(feature = "Foundation_NSString")]
        #[method(setLinkColor:)]
        pub unsafe fn setLinkColor(&self, link_color: Option<&NSString>);

        #[cfg(feature = "Foundation_NSString")]
        #[method_id(@__retain_semantics Other vlinkColor)]
        pub unsafe fn vlinkColor(&self) -> Id<NSString>;

        #[cfg(feature = "Foundation_NSString")]
        #[method(setVlinkColor:)]
        pub unsafe fn setVlinkColor(&self, vlink_color: Option<&NSString>);

        #[method(open)]
        pub unsafe fn open(&self);

        #[method(close)]
        pub unsafe fn close(&self);

        #[cfg(feature = "Foundation_NSString")]
        #[method(write:)]
        pub unsafe fn write(&self, text: Option<&NSString>);

        #[cfg(feature = "Foundation_NSString")]
        #[method(writeln:)]
        pub unsafe fn writeln(&self, text: Option<&NSString>);

        #[method(clear)]
        pub unsafe fn clear(&self);

        #[method(captureEvents)]
        pub unsafe fn captureEvents(&self);

        #[method(releaseEvents)]
        pub unsafe fn releaseEvents(&self);
    }
);

extern_methods!(
    /// Methods declared on superclass `DOMObject`
    #[cfg(feature = "WebKit_DOMHTMLDocument")]
    unsafe impl DOMHTMLDocument {
        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Option<Allocated<Self>>) -> Id<Self>;
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    #[cfg(feature = "WebKit_DOMHTMLDocument")]
    unsafe impl DOMHTMLDocument {
        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new() -> Id<Self>;
    }
);
