import type { BinaryWriteOptions } from '@protobuf-ts/runtime';
import type { IBinaryWriter } from '@protobuf-ts/runtime';
import type { BinaryReadOptions } from '@protobuf-ts/runtime';
import type { IBinaryReader } from '@protobuf-ts/runtime';
import type { PartialMessage } from '@protobuf-ts/runtime';
import { MessageType } from '@protobuf-ts/runtime';
import { FieldOptions as FieldOptions$ } from '../google/protobuf/descriptor.js';
import { FieldDescriptorProto } from '../google/protobuf/descriptor.js';
/**
 * @generated from protobuf message scalapb.ScalaPbOptions
 */
export interface ScalaPbOptions {
    /**
     * If set then it overrides the java_package and package.
     *
     * @generated from protobuf field: optional string package_name = 1
     */
    packageName?: string;
    /**
     * If true, the compiler does not append the proto base file name
     * into the generated package name. If false (the default), the
     * generated scala package name is the package_name.basename where
     * basename is the proto file name without the .proto extension.
     *
     * @generated from protobuf field: optional bool flat_package = 2
     */
    flatPackage?: boolean;
    /**
     * Adds the following imports at the top of the file (this is meant
     * to provide implicit TypeMappers)
     *
     * @generated from protobuf field: repeated string import = 3
     */
    import: string[];
    /**
     * Text to add to the generated scala file.  This can be used only
     * when single_file is true.
     *
     * @generated from protobuf field: repeated string preamble = 4
     */
    preamble: string[];
    /**
     * If true, all messages and enums (but not services) will be written
     * to a single Scala file.
     *
     * @generated from protobuf field: optional bool single_file = 5
     */
    singleFile?: boolean;
    /**
     * By default, wrappers defined at
     * https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto,
     * are mapped to an Option[T] where T is a primitive type. When this field
     * is set to true, we do not perform this transformation.
     *
     * @generated from protobuf field: optional bool no_primitive_wrappers = 7
     */
    noPrimitiveWrappers?: boolean;
    /**
     * DEPRECATED. In ScalaPB <= 0.5.47, it was necessary to explicitly enable
     * primitive_wrappers. This field remains here for backwards compatibility,
     * but it has no effect on generated code. It is an error to set both
     * `primitive_wrappers` and `no_primitive_wrappers`.
     *
     * @generated from protobuf field: optional bool primitive_wrappers = 6
     */
    primitiveWrappers?: boolean;
    /**
     * Scala type to be used for repeated fields. If unspecified,
     * `scala.collection.Seq` will be used.
     *
     * @generated from protobuf field: optional string collection_type = 8
     */
    collectionType?: string;
    /**
     * If set to true, all generated messages in this file will preserve unknown
     * fields.
     *
     * @generated from protobuf field: optional bool preserve_unknown_fields = 9 [default = true]
     */
    preserveUnknownFields?: boolean;
    /**
     * If defined, sets the name of the file-level object that would be generated. This
     * object extends `GeneratedFileObject` and contains descriptors, and list of message
     * and enum companions.
     *
     * @generated from protobuf field: optional string object_name = 10
     */
    objectName?: string;
    /**
     * Experimental: scope to apply the given options.
     *
     * @generated from protobuf field: optional scalapb.ScalaPbOptions.OptionsScope scope = 11
     */
    scope?: ScalaPbOptions_OptionsScope;
    /**
     * If true, lenses will be generated.
     *
     * @generated from protobuf field: optional bool lenses = 12 [default = true]
     */
    lenses?: boolean;
    /**
     * If true, then source-code info information will be included in the
     * generated code - normally the source code info is cleared out to reduce
     * code size.  The source code info is useful for extracting source code
     * location from the descriptors as well as comments.
     *
     * @generated from protobuf field: optional bool retain_source_code_info = 13
     */
    retainSourceCodeInfo?: boolean;
    /**
     * Scala type to be used for maps. If unspecified,
     * `scala.collection.immutable.Map` will be used.
     *
     * @generated from protobuf field: optional string map_type = 14
     */
    mapType?: string;
    /**
     * If true, no default values will be generated in message constructors.
     * This setting can be overridden at the message-level and for individual
     * fields.
     *
     * @generated from protobuf field: optional bool no_default_values_in_constructor = 15
     */
    noDefaultValuesInConstructor?: boolean;
    /**
     * @generated from protobuf field: optional scalapb.ScalaPbOptions.EnumValueNaming enum_value_naming = 16
     */
    enumValueNaming?: ScalaPbOptions_EnumValueNaming;
    /**
     * Indicate if prefix (enum name + optional underscore) should be removed in scala code
     * Strip is applied before enum value naming changes.
     *
     * @generated from protobuf field: optional bool enum_strip_prefix = 17 [default = false]
     */
    enumStripPrefix?: boolean;
    /**
     * Scala type to use for bytes fields.
     *
     * @generated from protobuf field: optional string bytes_type = 21
     */
    bytesType?: string;
    /**
     * Enable java conversions for this file.
     *
     * @generated from protobuf field: optional bool java_conversions = 23
     */
    javaConversions?: boolean;
    /**
     * List of message options to apply to some messages.
     *
     * @generated from protobuf field: repeated scalapb.ScalaPbOptions.AuxMessageOptions aux_message_options = 18
     */
    auxMessageOptions: ScalaPbOptions_AuxMessageOptions[];
    /**
     * List of message options to apply to some fields.
     *
     * @generated from protobuf field: repeated scalapb.ScalaPbOptions.AuxFieldOptions aux_field_options = 19
     */
    auxFieldOptions: ScalaPbOptions_AuxFieldOptions[];
    /**
     * List of message options to apply to some enums.
     *
     * @generated from protobuf field: repeated scalapb.ScalaPbOptions.AuxEnumOptions aux_enum_options = 20
     */
    auxEnumOptions: ScalaPbOptions_AuxEnumOptions[];
    /**
     * List of enum value options to apply to some enum values.
     *
     * @generated from protobuf field: repeated scalapb.ScalaPbOptions.AuxEnumValueOptions aux_enum_value_options = 22
     */
    auxEnumValueOptions: ScalaPbOptions_AuxEnumValueOptions[];
    /**
     * List of preprocessors to apply.
     *
     * @generated from protobuf field: repeated string preprocessors = 24
     */
    preprocessors: string[];
    /**
     * @generated from protobuf field: repeated scalapb.FieldTransformation field_transformations = 25
     */
    fieldTransformations: FieldTransformation[];
    /**
     * Ignores all transformations for this file. This is meant to allow specific files to
     * opt out from transformations inherited through package-scoped options.
     *
     * @generated from protobuf field: optional bool ignore_all_transformations = 26
     */
    ignoreAllTransformations?: boolean;
    /**
     * If true, getters will be generated.
     *
     * @generated from protobuf field: optional bool getters = 27 [default = true]
     */
    getters?: boolean;
    /**
     * Generate sources that are compatible with Scala 3
     *
     * @generated from protobuf field: optional bool scala3_sources = 28
     */
    scala3Sources?: boolean;
    /**
     * For use in tests only. Inhibit Java conversions even when when generator parameters
     * request for it.
     *
     * @generated from protobuf field: optional bool test_only_no_java_conversions = 999
     */
    testOnlyNoJavaConversions?: boolean;
}
/**
 * AuxMessageOptions enables you to set message-level options through package-scoped options.
 * This is useful when you can't add a dependency on scalapb.proto from the proto file that
 * defines the message.
 *
 * @generated from protobuf message scalapb.ScalaPbOptions.AuxMessageOptions
 */
export interface ScalaPbOptions_AuxMessageOptions {
    /**
     * The fully-qualified name of the message in the proto name space. Set to `*` to apply to all
     * messages in scope.
     *
     * @generated from protobuf field: optional string target = 1
     */
    target?: string;
    /**
     * Options to apply to the message. If there are any options defined on the target message
     * they take precedence over the options.
     *
     * @generated from protobuf field: optional scalapb.MessageOptions options = 2
     */
    options?: MessageOptions;
}
/**
 * AuxFieldOptions enables you to set field-level options through package-scoped options.
 * This is useful when you can't add a dependency on scalapb.proto from the proto file that
 * defines the field.
 *
 * @generated from protobuf message scalapb.ScalaPbOptions.AuxFieldOptions
 */
export interface ScalaPbOptions_AuxFieldOptions {
    /**
     * The fully-qualified name of the field in the proto name space. Set to `*` to apply to all
     * fields in scope.
     *
     * @generated from protobuf field: optional string target = 1
     */
    target?: string;
    /**
     * Options to apply to the field. If there are any options defined on the target message
     * they take precedence over the options.
     *
     * @generated from protobuf field: optional scalapb.FieldOptions options = 2
     */
    options?: FieldOptions;
}
/**
 * AuxEnumOptions enables you to set enum-level options through package-scoped options.
 * This is useful when you can't add a dependency on scalapb.proto from the proto file that
 * defines the enum.
 *
 * @generated from protobuf message scalapb.ScalaPbOptions.AuxEnumOptions
 */
export interface ScalaPbOptions_AuxEnumOptions {
    /**
     * The fully-qualified name of the enum in the proto name space. Set to `*` to apply to
     * all enums in scope.
     *
     * @generated from protobuf field: optional string target = 1
     */
    target?: string;
    /**
     * Options to apply to the enum. If there are any options defined on the target enum
     * they take precedence over the options.
     *
     * @generated from protobuf field: optional scalapb.EnumOptions options = 2
     */
    options?: EnumOptions;
}
/**
 * AuxEnumValueOptions enables you to set enum value level options through package-scoped
 * options.  This is useful when you can't add a dependency on scalapb.proto from the proto
 * file that defines the enum.
 *
 * @generated from protobuf message scalapb.ScalaPbOptions.AuxEnumValueOptions
 */
export interface ScalaPbOptions_AuxEnumValueOptions {
    /**
     * The fully-qualified name of the enum value in the proto name space. Set to `*` to apply
     * to all enum values in scope.
     *
     * @generated from protobuf field: optional string target = 1
     */
    target?: string;
    /**
     * Options to apply to the enum value. If there are any options defined on
     * the target enum value they take precedence over the options.
     *
     * @generated from protobuf field: optional scalapb.EnumValueOptions options = 2
     */
    options?: EnumValueOptions;
}
/**
 * Whether to apply the options only to this file, or for the entire package (and its subpackages)
 *
 * @generated from protobuf enum scalapb.ScalaPbOptions.OptionsScope
 */
export declare enum ScalaPbOptions_OptionsScope {
    /**
     * Apply the options for this file only (default)
     *
     * @generated from protobuf enum value: FILE = 0;
     */
    FILE = 0,
    /**
     * Apply the options for the entire package and its subpackages.
     *
     * @generated from protobuf enum value: PACKAGE = 1;
     */
    PACKAGE = 1
}
/**
 * Naming convention for generated enum values
 *
 * @generated from protobuf enum scalapb.ScalaPbOptions.EnumValueNaming
 */
export declare enum ScalaPbOptions_EnumValueNaming {
    /**
     * Enum value names in Scala use the same name as in the proto
     *
     * @generated from protobuf enum value: AS_IN_PROTO = 0;
     */
    AS_IN_PROTO = 0,
    /**
     * Convert enum values to CamelCase in Scala.
     *
     * @generated from protobuf enum value: CAMEL_CASE = 1;
     */
    CAMEL_CASE = 1
}
/**
 * @generated from protobuf message scalapb.MessageOptions
 */
export interface MessageOptions {
    /**
     * Additional classes and traits to mix in to the case class.
     *
     * @generated from protobuf field: repeated string extends = 1
     */
    extends: string[];
    /**
     * Additional classes and traits to mix in to the companion object.
     *
     * @generated from protobuf field: repeated string companion_extends = 2
     */
    companionExtends: string[];
    /**
     * Custom annotations to add to the generated case class.
     *
     * @generated from protobuf field: repeated string annotations = 3
     */
    annotations: string[];
    /**
     * All instances of this message will be converted to this type. An implicit TypeMapper
     * must be present.
     *
     * @generated from protobuf field: optional string type = 4
     */
    type?: string;
    /**
     * Custom annotations to add to the companion object of the generated class.
     *
     * @generated from protobuf field: repeated string companion_annotations = 5
     */
    companionAnnotations: string[];
    /**
     * Additional classes and traits to mix in to generated sealed_oneof base trait.
     *
     * @generated from protobuf field: repeated string sealed_oneof_extends = 6
     */
    sealedOneofExtends: string[];
    /**
     * If true, when this message is used as an optional field, do not wrap it in an `Option`.
     * This is equivalent of setting `(field).no_box` to true on each field with the message type.
     *
     * @generated from protobuf field: optional bool no_box = 7
     */
    noBox?: boolean;
    /**
     * Custom annotations to add to the generated `unknownFields` case class field.
     *
     * @generated from protobuf field: repeated string unknown_fields_annotations = 8
     */
    unknownFieldsAnnotations: string[];
    /**
     * If true, no default values will be generated in message constructors.
     * If set (to true or false), the message-level setting overrides the
     * file-level value, and can be overridden by the field-level setting.
     *
     * @generated from protobuf field: optional bool no_default_values_in_constructor = 9
     */
    noDefaultValuesInConstructor?: boolean;
    /**
     * Additional classes and traits to mix in to generated sealed oneof base trait's companion object.
     *
     * @generated from protobuf field: repeated string sealed_oneof_companion_extends = 10
     */
    sealedOneofCompanionExtends: string[];
    /**
     * Adds a derives clause to the message case class
     *
     * @generated from protobuf field: repeated string derives = 11
     */
    derives: string[];
    /**
     * Additional classes and traits to add to the derives clause of a sealed oneof.
     *
     * @generated from protobuf field: repeated string sealed_oneof_derives = 12
     */
    sealedOneofDerives: string[];
}
/**
 * Represents a custom Collection type in Scala. This allows ScalaPB to integrate with
 * collection types that are different enough from the ones in the standard library.
 *
 * @generated from protobuf message scalapb.Collection
 */
export interface Collection {
    /**
     * Type of the collection
     *
     * @generated from protobuf field: optional string type = 1
     */
    type?: string;
    /**
     * Set to true if this collection type is not allowed to be empty, for example
     * cats.data.NonEmptyList.  When true, ScalaPB will not generate `clearX` for the repeated
     * field and not provide a default argument in the constructor.
     *
     * @generated from protobuf field: optional bool non_empty = 2
     */
    nonEmpty?: boolean;
    /**
     * An Adapter is a Scala object available at runtime that provides certain static methods
     * that can operate on this collection type.
     *
     * @generated from protobuf field: optional string adapter = 3
     */
    adapter?: string;
}
/**
 * @generated from protobuf message scalapb.FieldOptions
 */
export interface FieldOptions {
    /**
     * @generated from protobuf field: optional string type = 1
     */
    type?: string;
    /**
     * @generated from protobuf field: optional string scala_name = 2
     */
    scalaName?: string;
    /**
     * Can be specified only if this field is repeated. If unspecified,
     * it falls back to the file option named `collection_type`, which defaults
     * to `scala.collection.Seq`.
     *
     * @generated from protobuf field: optional string collection_type = 3
     */
    collectionType?: string;
    /**
     * @generated from protobuf field: optional scalapb.Collection collection = 8
     */
    collection?: Collection;
    /**
     * If the field is a map, you can specify custom Scala types for the key
     * or value.
     *
     * @generated from protobuf field: optional string key_type = 4
     */
    keyType?: string;
    /**
     * @generated from protobuf field: optional string value_type = 5
     */
    valueType?: string;
    /**
     * Custom annotations to add to the field.
     *
     * @generated from protobuf field: repeated string annotations = 6
     */
    annotations: string[];
    /**
     * Can be specified only if this field is a map. If unspecified,
     * it falls back to the file option named `map_type` which defaults to
     * `scala.collection.immutable.Map`
     *
     * @generated from protobuf field: optional string map_type = 7
     */
    mapType?: string;
    /**
     * If true, no default value will be generated for this field in the message
     * constructor. If this field is set, it has the highest precedence and overrides the
     * values at the message-level and file-level.
     *
     * @generated from protobuf field: optional bool no_default_value_in_constructor = 9
     */
    noDefaultValueInConstructor?: boolean;
    /**
     * Do not box this value in Option[T]. If set, this overrides MessageOptions.no_box
     *
     * @generated from protobuf field: optional bool no_box = 30
     */
    noBox?: boolean;
    /**
     * Like no_box it does not box a value in Option[T], but also fails parsing when a value
     * is not provided. This enables to emulate required fields in proto3.
     *
     * @generated from protobuf field: optional bool required = 31
     */
    required?: boolean;
}
/**
 * @generated from protobuf message scalapb.EnumOptions
 */
export interface EnumOptions {
    /**
     * Additional classes and traits to mix in to the base trait
     *
     * @generated from protobuf field: repeated string extends = 1
     */
    extends: string[];
    /**
     * Additional classes and traits to mix in to the companion object.
     *
     * @generated from protobuf field: repeated string companion_extends = 2
     */
    companionExtends: string[];
    /**
     * All instances of this enum will be converted to this type. An implicit TypeMapper
     * must be present.
     *
     * @generated from protobuf field: optional string type = 3
     */
    type?: string;
    /**
     * Custom annotations to add to the generated enum's base class.
     *
     * @generated from protobuf field: repeated string base_annotations = 4
     */
    baseAnnotations: string[];
    /**
     * Custom annotations to add to the generated trait.
     *
     * @generated from protobuf field: repeated string recognized_annotations = 5
     */
    recognizedAnnotations: string[];
    /**
     * Custom annotations to add to the generated Unrecognized case class.
     *
     * @generated from protobuf field: repeated string unrecognized_annotations = 6
     */
    unrecognizedAnnotations: string[];
}
/**
 * @generated from protobuf message scalapb.EnumValueOptions
 */
export interface EnumValueOptions {
    /**
     * Additional classes and traits to mix in to an individual enum value.
     *
     * @generated from protobuf field: repeated string extends = 1
     */
    extends: string[];
    /**
     * Name in Scala to use for this enum value.
     *
     * @generated from protobuf field: optional string scala_name = 2
     */
    scalaName?: string;
    /**
     * Custom annotations to add to the generated case object for this enum value.
     *
     * @generated from protobuf field: repeated string annotations = 3
     */
    annotations: string[];
}
/**
 * @generated from protobuf message scalapb.OneofOptions
 */
export interface OneofOptions {
    /**
     * Additional traits to mix in to a oneof.
     *
     * @generated from protobuf field: repeated string extends = 1
     */
    extends: string[];
    /**
     * Name in Scala to use for this oneof field.
     *
     * @generated from protobuf field: optional string scala_name = 2
     */
    scalaName?: string;
}
/**
 * @generated from protobuf message scalapb.FieldTransformation
 */
export interface FieldTransformation {
    /**
     * @generated from protobuf field: optional google.protobuf.FieldDescriptorProto when = 1
     */
    when?: FieldDescriptorProto;
    /**
     * @generated from protobuf field: optional scalapb.MatchType match_type = 2 [default = CONTAINS]
     */
    matchType?: MatchType;
    /**
     * @generated from protobuf field: optional google.protobuf.FieldOptions set = 3
     */
    set?: FieldOptions$;
}
/**
 * @generated from protobuf message scalapb.PreprocessorOutput
 */
export interface PreprocessorOutput {
    /**
     * @generated from protobuf field: map<string, scalapb.ScalaPbOptions> options_by_file = 1
     */
    optionsByFile: {
        [key: string]: ScalaPbOptions;
    };
}
/**
 * @generated from protobuf enum scalapb.MatchType
 */
export declare enum MatchType {
    /**
     * @generated from protobuf enum value: CONTAINS = 0;
     */
    CONTAINS = 0,
    /**
     * @generated from protobuf enum value: EXACT = 1;
     */
    EXACT = 1,
    /**
     * @generated from protobuf enum value: PRESENCE = 2;
     */
    PRESENCE = 2
}
declare class ScalaPbOptions$Type extends MessageType<ScalaPbOptions> {
    constructor();
    create(value?: PartialMessage<ScalaPbOptions>): ScalaPbOptions;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ScalaPbOptions): ScalaPbOptions;
    internalBinaryWrite(message: ScalaPbOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.ScalaPbOptions
 */
export declare const ScalaPbOptions: ScalaPbOptions$Type;
declare class ScalaPbOptions_AuxMessageOptions$Type extends MessageType<ScalaPbOptions_AuxMessageOptions> {
    constructor();
    create(value?: PartialMessage<ScalaPbOptions_AuxMessageOptions>): ScalaPbOptions_AuxMessageOptions;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ScalaPbOptions_AuxMessageOptions): ScalaPbOptions_AuxMessageOptions;
    internalBinaryWrite(message: ScalaPbOptions_AuxMessageOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.ScalaPbOptions.AuxMessageOptions
 */
export declare const ScalaPbOptions_AuxMessageOptions: ScalaPbOptions_AuxMessageOptions$Type;
declare class ScalaPbOptions_AuxFieldOptions$Type extends MessageType<ScalaPbOptions_AuxFieldOptions> {
    constructor();
    create(value?: PartialMessage<ScalaPbOptions_AuxFieldOptions>): ScalaPbOptions_AuxFieldOptions;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ScalaPbOptions_AuxFieldOptions): ScalaPbOptions_AuxFieldOptions;
    internalBinaryWrite(message: ScalaPbOptions_AuxFieldOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.ScalaPbOptions.AuxFieldOptions
 */
export declare const ScalaPbOptions_AuxFieldOptions: ScalaPbOptions_AuxFieldOptions$Type;
declare class ScalaPbOptions_AuxEnumOptions$Type extends MessageType<ScalaPbOptions_AuxEnumOptions> {
    constructor();
    create(value?: PartialMessage<ScalaPbOptions_AuxEnumOptions>): ScalaPbOptions_AuxEnumOptions;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ScalaPbOptions_AuxEnumOptions): ScalaPbOptions_AuxEnumOptions;
    internalBinaryWrite(message: ScalaPbOptions_AuxEnumOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.ScalaPbOptions.AuxEnumOptions
 */
export declare const ScalaPbOptions_AuxEnumOptions: ScalaPbOptions_AuxEnumOptions$Type;
declare class ScalaPbOptions_AuxEnumValueOptions$Type extends MessageType<ScalaPbOptions_AuxEnumValueOptions> {
    constructor();
    create(value?: PartialMessage<ScalaPbOptions_AuxEnumValueOptions>): ScalaPbOptions_AuxEnumValueOptions;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ScalaPbOptions_AuxEnumValueOptions): ScalaPbOptions_AuxEnumValueOptions;
    internalBinaryWrite(message: ScalaPbOptions_AuxEnumValueOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.ScalaPbOptions.AuxEnumValueOptions
 */
export declare const ScalaPbOptions_AuxEnumValueOptions: ScalaPbOptions_AuxEnumValueOptions$Type;
declare class MessageOptions$Type extends MessageType<MessageOptions> {
    constructor();
    create(value?: PartialMessage<MessageOptions>): MessageOptions;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MessageOptions): MessageOptions;
    internalBinaryWrite(message: MessageOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.MessageOptions
 */
export declare const MessageOptions: MessageOptions$Type;
declare class Collection$Type extends MessageType<Collection> {
    constructor();
    create(value?: PartialMessage<Collection>): Collection;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Collection): Collection;
    internalBinaryWrite(message: Collection, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.Collection
 */
export declare const Collection: Collection$Type;
declare class FieldOptions$Type extends MessageType<FieldOptions> {
    constructor();
    create(value?: PartialMessage<FieldOptions>): FieldOptions;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FieldOptions): FieldOptions;
    internalBinaryWrite(message: FieldOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.FieldOptions
 */
export declare const FieldOptions: FieldOptions$Type;
declare class EnumOptions$Type extends MessageType<EnumOptions> {
    constructor();
    create(value?: PartialMessage<EnumOptions>): EnumOptions;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EnumOptions): EnumOptions;
    internalBinaryWrite(message: EnumOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.EnumOptions
 */
export declare const EnumOptions: EnumOptions$Type;
declare class EnumValueOptions$Type extends MessageType<EnumValueOptions> {
    constructor();
    create(value?: PartialMessage<EnumValueOptions>): EnumValueOptions;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EnumValueOptions): EnumValueOptions;
    internalBinaryWrite(message: EnumValueOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.EnumValueOptions
 */
export declare const EnumValueOptions: EnumValueOptions$Type;
declare class OneofOptions$Type extends MessageType<OneofOptions> {
    constructor();
    create(value?: PartialMessage<OneofOptions>): OneofOptions;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: OneofOptions): OneofOptions;
    internalBinaryWrite(message: OneofOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.OneofOptions
 */
export declare const OneofOptions: OneofOptions$Type;
declare class FieldTransformation$Type extends MessageType<FieldTransformation> {
    constructor();
    create(value?: PartialMessage<FieldTransformation>): FieldTransformation;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FieldTransformation): FieldTransformation;
    internalBinaryWrite(message: FieldTransformation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.FieldTransformation
 */
export declare const FieldTransformation: FieldTransformation$Type;
declare class PreprocessorOutput$Type extends MessageType<PreprocessorOutput> {
    constructor();
    create(value?: PartialMessage<PreprocessorOutput>): PreprocessorOutput;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PreprocessorOutput): PreprocessorOutput;
    private binaryReadMap1;
    internalBinaryWrite(message: PreprocessorOutput, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message scalapb.PreprocessorOutput
 */
export declare const PreprocessorOutput: PreprocessorOutput$Type;
export {};
//# sourceMappingURL=scalapb.d.ts.map