export declare const protobufPackage = "grpc.gateway.protoc_gen_openapiv2.options";
export declare enum Scheme {
    UNKNOWN = 0,
    HTTP = 1,
    HTTPS = 2,
    WS = 3,
    WSS = 4
}
export declare function schemeFromJSON(object: any): Scheme;
export declare function schemeToJSON(object: Scheme): string;
export interface Swagger {
    swagger: string;
    info: Info | undefined;
    host: string;
    basePath: string;
    schemes: Scheme[];
    consumes: string[];
    produces: string[];
    responses: {
        [key: string]: Response;
    };
    securityDefinitions: SecurityDefinitions | undefined;
    security: SecurityRequirement[];
    tags: Tag[];
    externalDocs: ExternalDocumentation | undefined;
    extensions: {
        [key: string]: any | undefined;
    };
}
export interface Swagger_ResponsesEntry {
    key: string;
    value: Response | undefined;
}
export interface Swagger_ExtensionsEntry {
    key: string;
    value: any | undefined;
}
export interface Operation {
    tags: string[];
    summary: string;
    description: string;
    externalDocs: ExternalDocumentation | undefined;
    operationId: string;
    consumes: string[];
    produces: string[];
    responses: {
        [key: string]: Response;
    };
    schemes: Scheme[];
    deprecated: boolean;
    security: SecurityRequirement[];
    extensions: {
        [key: string]: any | undefined;
    };
    parameters: Parameters | undefined;
}
export interface Operation_ResponsesEntry {
    key: string;
    value: Response | undefined;
}
export interface Operation_ExtensionsEntry {
    key: string;
    value: any | undefined;
}
export interface Parameters {
    headers: HeaderParameter[];
}
export interface HeaderParameter {
    name: string;
    description: string;
    type: HeaderParameter_Type;
    format: string;
    required: boolean;
}
export declare enum HeaderParameter_Type {
    UNKNOWN = 0,
    STRING = 1,
    NUMBER = 2,
    INTEGER = 3,
    BOOLEAN = 4
}
export declare function headerParameter_TypeFromJSON(object: any): HeaderParameter_Type;
export declare function headerParameter_TypeToJSON(object: HeaderParameter_Type): string;
export interface Header {
    description: string;
    type: string;
    format: string;
    default: string;
    pattern: string;
}
export interface Response {
    description: string;
    schema: Schema | undefined;
    headers: {
        [key: string]: Header;
    };
    examples: {
        [key: string]: string;
    };
    extensions: {
        [key: string]: any | undefined;
    };
}
export interface Response_HeadersEntry {
    key: string;
    value: Header | undefined;
}
export interface Response_ExamplesEntry {
    key: string;
    value: string;
}
export interface Response_ExtensionsEntry {
    key: string;
    value: any | undefined;
}
export interface Info {
    title: string;
    description: string;
    termsOfService: string;
    contact: Contact | undefined;
    license: License | undefined;
    version: string;
    extensions: {
        [key: string]: any | undefined;
    };
}
export interface Info_ExtensionsEntry {
    key: string;
    value: any | undefined;
}
export interface Contact {
    name: string;
    url: string;
    email: string;
}
export interface License {
    name: string;
    url: string;
}
export interface ExternalDocumentation {
    description: string;
    url: string;
}
export interface Schema {
    jsonSchema: JSONSchema | undefined;
    discriminator: string;
    readOnly: boolean;
    externalDocs: ExternalDocumentation | undefined;
    example: string;
}
export interface JSONSchema {
    ref: string;
    title: string;
    description: string;
    default: string;
    readOnly: boolean;
    example: string;
    multipleOf: number;
    maximum: number;
    exclusiveMaximum: boolean;
    minimum: number;
    exclusiveMinimum: boolean;
    maxLength: string;
    minLength: string;
    pattern: string;
    maxItems: string;
    minItems: string;
    uniqueItems: boolean;
    maxProperties: string;
    minProperties: string;
    required: string[];
    array: string[];
    type: JSONSchema_JSONSchemaSimpleTypes[];
    format: string;
    enum: string[];
    fieldConfiguration: JSONSchema_FieldConfiguration | undefined;
    extensions: {
        [key: string]: any | undefined;
    };
}
export declare enum JSONSchema_JSONSchemaSimpleTypes {
    UNKNOWN = 0,
    ARRAY = 1,
    BOOLEAN = 2,
    INTEGER = 3,
    NULL = 4,
    NUMBER = 5,
    OBJECT = 6,
    STRING = 7
}
export declare function jSONSchema_JSONSchemaSimpleTypesFromJSON(object: any): JSONSchema_JSONSchemaSimpleTypes;
export declare function jSONSchema_JSONSchemaSimpleTypesToJSON(object: JSONSchema_JSONSchemaSimpleTypes): string;
export interface JSONSchema_FieldConfiguration {
    pathParamName: string;
}
export interface JSONSchema_ExtensionsEntry {
    key: string;
    value: any | undefined;
}
export interface Tag {
    name: string;
    description: string;
    externalDocs: ExternalDocumentation | undefined;
    extensions: {
        [key: string]: any | undefined;
    };
}
export interface Tag_ExtensionsEntry {
    key: string;
    value: any | undefined;
}
export interface SecurityDefinitions {
    security: {
        [key: string]: SecurityScheme;
    };
}
export interface SecurityDefinitions_SecurityEntry {
    key: string;
    value: SecurityScheme | undefined;
}
export interface SecurityScheme {
    type: SecurityScheme_Type;
    description: string;
    name: string;
    in: SecurityScheme_In;
    flow: SecurityScheme_Flow;
    authorizationUrl: string;
    tokenUrl: string;
    scopes: Scopes | undefined;
    extensions: {
        [key: string]: any | undefined;
    };
}
export declare enum SecurityScheme_Type {
    TYPE_INVALID = 0,
    TYPE_BASIC = 1,
    TYPE_API_KEY = 2,
    TYPE_OAUTH2 = 3
}
export declare function securityScheme_TypeFromJSON(object: any): SecurityScheme_Type;
export declare function securityScheme_TypeToJSON(object: SecurityScheme_Type): string;
export declare enum SecurityScheme_In {
    IN_INVALID = 0,
    IN_QUERY = 1,
    IN_HEADER = 2
}
export declare function securityScheme_InFromJSON(object: any): SecurityScheme_In;
export declare function securityScheme_InToJSON(object: SecurityScheme_In): string;
export declare enum SecurityScheme_Flow {
    FLOW_INVALID = 0,
    FLOW_IMPLICIT = 1,
    FLOW_PASSWORD = 2,
    FLOW_APPLICATION = 3,
    FLOW_ACCESS_CODE = 4
}
export declare function securityScheme_FlowFromJSON(object: any): SecurityScheme_Flow;
export declare function securityScheme_FlowToJSON(object: SecurityScheme_Flow): string;
export interface SecurityScheme_ExtensionsEntry {
    key: string;
    value: any | undefined;
}
export interface SecurityRequirement {
    securityRequirement: {
        [key: string]: SecurityRequirement_SecurityRequirementValue;
    };
}
export interface SecurityRequirement_SecurityRequirementValue {
    scope: string[];
}
export interface SecurityRequirement_SecurityRequirementEntry {
    key: string;
    value: SecurityRequirement_SecurityRequirementValue | undefined;
}
export interface Scopes {
    scope: {
        [key: string]: string;
    };
}
export interface Scopes_ScopeEntry {
    key: string;
    value: string;
}
export declare const Swagger: MessageFns<Swagger>;
export declare const Swagger_ResponsesEntry: MessageFns<Swagger_ResponsesEntry>;
export declare const Swagger_ExtensionsEntry: MessageFns<Swagger_ExtensionsEntry>;
export declare const Operation: MessageFns<Operation>;
export declare const Operation_ResponsesEntry: MessageFns<Operation_ResponsesEntry>;
export declare const Operation_ExtensionsEntry: MessageFns<Operation_ExtensionsEntry>;
export declare const Parameters: MessageFns<Parameters>;
export declare const HeaderParameter: MessageFns<HeaderParameter>;
export declare const Header: MessageFns<Header>;
export declare const Response: MessageFns<Response>;
export declare const Response_HeadersEntry: MessageFns<Response_HeadersEntry>;
export declare const Response_ExamplesEntry: MessageFns<Response_ExamplesEntry>;
export declare const Response_ExtensionsEntry: MessageFns<Response_ExtensionsEntry>;
export declare const Info: MessageFns<Info>;
export declare const Info_ExtensionsEntry: MessageFns<Info_ExtensionsEntry>;
export declare const Contact: MessageFns<Contact>;
export declare const License: MessageFns<License>;
export declare const ExternalDocumentation: MessageFns<ExternalDocumentation>;
export declare const Schema: MessageFns<Schema>;
export declare const JSONSchema: MessageFns<JSONSchema>;
export declare const JSONSchema_FieldConfiguration: MessageFns<JSONSchema_FieldConfiguration>;
export declare const JSONSchema_ExtensionsEntry: MessageFns<JSONSchema_ExtensionsEntry>;
export declare const Tag: MessageFns<Tag>;
export declare const Tag_ExtensionsEntry: MessageFns<Tag_ExtensionsEntry>;
export declare const SecurityDefinitions: MessageFns<SecurityDefinitions>;
export declare const SecurityDefinitions_SecurityEntry: MessageFns<SecurityDefinitions_SecurityEntry>;
export declare const SecurityScheme: MessageFns<SecurityScheme>;
export declare const SecurityScheme_ExtensionsEntry: MessageFns<SecurityScheme_ExtensionsEntry>;
export declare const SecurityRequirement: MessageFns<SecurityRequirement>;
export declare const SecurityRequirement_SecurityRequirementValue: MessageFns<SecurityRequirement_SecurityRequirementValue>;
export declare const SecurityRequirement_SecurityRequirementEntry: MessageFns<SecurityRequirement_SecurityRequirementEntry>;
export declare const Scopes: MessageFns<Scopes>;
export declare const Scopes_ScopeEntry: MessageFns<Scopes_ScopeEntry>;
export interface MessageFns<T> {
    fromJSON(object: any): T;
    toJSON(message: T): unknown;
}
//# sourceMappingURL=openapiv2.d.ts.map