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 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 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 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 enum SecurityScheme_In {
    IN_INVALID = 0,
    IN_QUERY = 1,
    IN_HEADER = 2
}
export declare enum SecurityScheme_Flow {
    FLOW_INVALID = 0,
    FLOW_IMPLICIT = 1,
    FLOW_PASSWORD = 2,
    FLOW_APPLICATION = 3,
    FLOW_ACCESS_CODE = 4
}
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;
}
//# sourceMappingURL=openapiv2.d.ts.map