pub mod google {
    pub mod r#type {
        // Generated by [`prost-build`]
        include!(concat!(env!("OUT_DIR"), "/google.r#type.rs"));
        // Generated by [`pbjson-build`]
        #[cfg(feature = "json")]
        include!(concat!(env!("OUT_DIR"), "/google.r#type.serde.rs"));
    }

    #[cfg(feature = "json")]
    pub use pbjson_types::{value, Struct, Timestamp, Value};
    #[cfg(not(feature = "json"))]
    pub use prost_types::{value, Struct, Timestamp, Value};
}

// Include the `target` module, which is generated from items.proto.
// It is important to maintain the same structure as in the proto.
pub mod confidence {
    pub mod flags {
        pub mod admin {
            pub mod v1 {
                // Generated by [`prost-build`]
                include!(concat!(env!("OUT_DIR"), "/confidence.flags.admin.v1.rs"));
                // Generated by [`pbjson-build`]
                #[cfg(feature = "json")]
                include!(concat!(
                    env!("OUT_DIR"),
                    "/confidence.flags.admin.v1.serde.rs"
                ));
            }
        }

        pub mod resolver {
            pub mod v1 {
                // Generated by [`prost-build`]
                include!(concat!(env!("OUT_DIR"), "/confidence.flags.resolver.v1.rs"));
                // Generated by [`pbjson-build`]
                #[cfg(feature = "json")]
                include!(concat!(
                    env!("OUT_DIR"),
                    "/confidence.flags.resolver.v1.serde.rs"
                ));

                pub mod events {
                    // Generated by [`prost-build`]
                    include!(concat!(
                        env!("OUT_DIR"),
                        "/confidence.flags.resolver.v1.events.rs"
                    ));
                    // Generated by [`pbjson-build`]
                    #[cfg(feature = "json")]
                    include!(concat!(
                        env!("OUT_DIR"),
                        "/confidence.flags.resolver.v1.events.serde.rs"
                    ));
                }
            }
        }

        pub mod types {
            pub mod v1 {
                // Generated by [`prost-build`]
                include!(concat!(env!("OUT_DIR"), "/confidence.flags.types.v1.rs"));
                // Generated by [`pbjson-build`]
                #[cfg(feature = "json")]
                include!(concat!(
                    env!("OUT_DIR"),
                    "/confidence.flags.types.v1.serde.rs"
                ));
            }
        }
    }

    pub mod auth {
        pub mod v1 {
            // Generated by [`prost-build`]
            include!(concat!(env!("OUT_DIR"), "/confidence.auth.v1.rs"));
            // Generated by [`pbjson-build`]
            #[cfg(feature = "json")]
            include!(concat!(env!("OUT_DIR"), "/confidence.auth.v1.serde.rs"));
        }
    }

    pub mod iam {
        pub mod v1 {
            // Generated by [`prost-build`]
            include!(concat!(env!("OUT_DIR"), "/confidence.iam.v1.rs"));
            // Generated by [`pbjson-build`]
            #[cfg(feature = "json")]
            include!(concat!(env!("OUT_DIR"), "/confidence.iam.v1.serde.rs"));
        }
    }
}

pub use prost::Message;
