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 { Status } from "../../../rpc/status";
/**
 * Defines the errors to be returned in
 * [google.api.servicecontrol.v1.CheckResponse.check_errors][google.api.servicecontrol.v1.CheckResponse.check_errors].
 *
 * @generated from protobuf message google.api.servicecontrol.v1.CheckError
 */
export interface CheckError {
    /**
     * The error code.
     *
     * @generated from protobuf field: google.api.servicecontrol.v1.CheckError.Code code = 1;
     */
    code: CheckError_Code;
    /**
     * Subject to whom this error applies. See the specific code enum for more
     * details on this field. For example:
     *
     * - "project:<project-id or project-number>"
     * - "folder:<folder-id>"
     * - "organization:<organization-id>"
     *
     * @generated from protobuf field: string subject = 4;
     */
    subject: string;
    /**
     * Free-form text providing details on the error cause of the error.
     *
     * @generated from protobuf field: string detail = 2;
     */
    detail: string;
    /**
     * Contains public information about the check error. If available,
     * `status.code` will be non zero and client can propagate it out as public
     * error.
     *
     * @generated from protobuf field: google.rpc.Status status = 3;
     */
    status?: Status;
}
/**
 * Error codes for Check responses.
 *
 * @generated from protobuf enum google.api.servicecontrol.v1.CheckError.Code
 */
export declare enum CheckError_Code {
    /**
     * This is never used in `CheckResponse`.
     *
     * @generated from protobuf enum value: ERROR_CODE_UNSPECIFIED = 0;
     */
    ERROR_CODE_UNSPECIFIED = 0,
    /**
     * The consumer's project id, network container, or resource container was
     * not found. Same as [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND].
     *
     * @generated from protobuf enum value: NOT_FOUND = 5;
     */
    NOT_FOUND = 5,
    /**
     * The consumer doesn't have access to the specified resource.
     * Same as [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED].
     *
     * @generated from protobuf enum value: PERMISSION_DENIED = 7;
     */
    PERMISSION_DENIED = 7,
    /**
     * Quota check failed. Same as [google.rpc.Code.RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED].
     *
     * @generated from protobuf enum value: RESOURCE_EXHAUSTED = 8;
     */
    RESOURCE_EXHAUSTED = 8,
    /**
     * The consumer hasn't activated the service.
     *
     * @generated from protobuf enum value: SERVICE_NOT_ACTIVATED = 104;
     */
    SERVICE_NOT_ACTIVATED = 104,
    /**
     * The consumer cannot access the service because billing is disabled.
     *
     * @generated from protobuf enum value: BILLING_DISABLED = 107;
     */
    BILLING_DISABLED = 107,
    /**
     * The consumer's project has been marked as deleted (soft deletion).
     *
     * @generated from protobuf enum value: PROJECT_DELETED = 108;
     */
    PROJECT_DELETED = 108,
    /**
     * The consumer's project number or id does not represent a valid project.
     *
     * @generated from protobuf enum value: PROJECT_INVALID = 114;
     */
    PROJECT_INVALID = 114,
    /**
     * The input consumer info does not represent a valid consumer folder or
     * organization.
     *
     * @generated from protobuf enum value: CONSUMER_INVALID = 125;
     */
    CONSUMER_INVALID = 125,
    /**
     * The IP address of the consumer is invalid for the specific consumer
     * project.
     *
     * @generated from protobuf enum value: IP_ADDRESS_BLOCKED = 109;
     */
    IP_ADDRESS_BLOCKED = 109,
    /**
     * The referer address of the consumer request is invalid for the specific
     * consumer project.
     *
     * @generated from protobuf enum value: REFERER_BLOCKED = 110;
     */
    REFERER_BLOCKED = 110,
    /**
     * The client application of the consumer request is invalid for the
     * specific consumer project.
     *
     * @generated from protobuf enum value: CLIENT_APP_BLOCKED = 111;
     */
    CLIENT_APP_BLOCKED = 111,
    /**
     * The API targeted by this request is invalid for the specified consumer
     * project.
     *
     * @generated from protobuf enum value: API_TARGET_BLOCKED = 122;
     */
    API_TARGET_BLOCKED = 122,
    /**
     * The consumer's API key is invalid.
     *
     * @generated from protobuf enum value: API_KEY_INVALID = 105;
     */
    API_KEY_INVALID = 105,
    /**
     * The consumer's API Key has expired.
     *
     * @generated from protobuf enum value: API_KEY_EXPIRED = 112;
     */
    API_KEY_EXPIRED = 112,
    /**
     * The consumer's API Key was not found in config record.
     *
     * @generated from protobuf enum value: API_KEY_NOT_FOUND = 113;
     */
    API_KEY_NOT_FOUND = 113,
    /**
     * The credential in the request can not be verified.
     *
     * @generated from protobuf enum value: INVALID_CREDENTIAL = 123;
     */
    INVALID_CREDENTIAL = 123,
    /**
     * The backend server for looking up project id/number is unavailable.
     *
     * @generated from protobuf enum value: NAMESPACE_LOOKUP_UNAVAILABLE = 300;
     */
    NAMESPACE_LOOKUP_UNAVAILABLE = 300,
    /**
     * The backend server for checking service status is unavailable.
     *
     * @generated from protobuf enum value: SERVICE_STATUS_UNAVAILABLE = 301;
     */
    SERVICE_STATUS_UNAVAILABLE = 301,
    /**
     * The backend server for checking billing status is unavailable.
     *
     * @generated from protobuf enum value: BILLING_STATUS_UNAVAILABLE = 302;
     */
    BILLING_STATUS_UNAVAILABLE = 302,
    /**
     * Cloud Resource Manager backend server is unavailable.
     *
     * @generated from protobuf enum value: CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE = 305;
     */
    CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE = 305
}
declare class CheckError$Type extends MessageType<CheckError> {
    constructor();
    create(value?: PartialMessage<CheckError>): CheckError;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CheckError): CheckError;
    internalBinaryWrite(message: CheckError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.api.servicecontrol.v1.CheckError
 */
export declare const CheckError: CheckError$Type;
export {};
