import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import type { ReportResponse } from "./service_controller";
import type { ReportRequest } from "./service_controller";
import type { CheckResponse } from "./service_controller";
import type { CheckRequest } from "./service_controller";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * [Service Control API
 * v2](https://cloud.google.com/service-infrastructure/docs/service-control/access-control)
 *
 * Private Preview. This feature is only available for approved services.
 *
 * This API provides admission control and telemetry reporting for services
 * that are integrated with [Service
 * Infrastructure](https://cloud.google.com/service-infrastructure).
 *
 * @generated from protobuf service google.api.servicecontrol.v2.ServiceController
 */
export interface IServiceControllerClient {
    /**
     * Private Preview. This feature is only available for approved services.
     *
     * This method provides admission control for services that are integrated
     * with [Service
     * Infrastructure](https://cloud.google.com/service-infrastructure). It checks
     * whether an operation should be allowed based on the service configuration
     * and relevant policies. It must be called before the operation is executed.
     * For more information, see
     * [Admission
     * Control](https://cloud.google.com/service-infrastructure/docs/admission-control).
     *
     * NOTE: The admission control has an expected policy propagation delay of
     * 60s. The caller **must** not depend on the most recent policy changes.
     *
     * NOTE: The admission control has a hard limit of 1 referenced resources
     * per call. If an operation refers to more than 1 resources, the caller
     * must call the Check method multiple times.
     *
     * This method requires the `servicemanagement.services.check` permission
     * on the specified service. For more information, see
     * [Service Control API Access
     * Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control).
     *
     * @generated from protobuf rpc: Check(google.api.servicecontrol.v2.CheckRequest) returns (google.api.servicecontrol.v2.CheckResponse);
     */
    check(input: CheckRequest, options?: RpcOptions): UnaryCall<CheckRequest, CheckResponse>;
    /**
     * Private Preview. This feature is only available for approved services.
     *
     * This method provides telemetry reporting for services that are integrated
     * with [Service
     * Infrastructure](https://cloud.google.com/service-infrastructure). It
     * reports a list of operations that have occurred on a service. It must be
     * called after the operations have been executed. For more information, see
     * [Telemetry
     * Reporting](https://cloud.google.com/service-infrastructure/docs/telemetry-reporting).
     *
     * NOTE: The telemetry reporting has a hard limit of 1000 operations and 1MB
     * per Report call. It is recommended to have no more than 100 operations per
     * call.
     *
     * This method requires the `servicemanagement.services.report` permission
     * on the specified service. For more information, see
     * [Service Control API Access
     * Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control).
     *
     * @generated from protobuf rpc: Report(google.api.servicecontrol.v2.ReportRequest) returns (google.api.servicecontrol.v2.ReportResponse);
     */
    report(input: ReportRequest, options?: RpcOptions): UnaryCall<ReportRequest, ReportResponse>;
}
/**
 * [Service Control API
 * v2](https://cloud.google.com/service-infrastructure/docs/service-control/access-control)
 *
 * Private Preview. This feature is only available for approved services.
 *
 * This API provides admission control and telemetry reporting for services
 * that are integrated with [Service
 * Infrastructure](https://cloud.google.com/service-infrastructure).
 *
 * @generated from protobuf service google.api.servicecontrol.v2.ServiceController
 */
export declare class ServiceControllerClient implements IServiceControllerClient, ServiceInfo {
    private readonly _transport;
    typeName: string;
    methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
    options: {
        [extensionName: string]: import("@protobuf-ts/runtime").JsonValue;
    };
    constructor(_transport: RpcTransport);
    /**
     * Private Preview. This feature is only available for approved services.
     *
     * This method provides admission control for services that are integrated
     * with [Service
     * Infrastructure](https://cloud.google.com/service-infrastructure). It checks
     * whether an operation should be allowed based on the service configuration
     * and relevant policies. It must be called before the operation is executed.
     * For more information, see
     * [Admission
     * Control](https://cloud.google.com/service-infrastructure/docs/admission-control).
     *
     * NOTE: The admission control has an expected policy propagation delay of
     * 60s. The caller **must** not depend on the most recent policy changes.
     *
     * NOTE: The admission control has a hard limit of 1 referenced resources
     * per call. If an operation refers to more than 1 resources, the caller
     * must call the Check method multiple times.
     *
     * This method requires the `servicemanagement.services.check` permission
     * on the specified service. For more information, see
     * [Service Control API Access
     * Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control).
     *
     * @generated from protobuf rpc: Check(google.api.servicecontrol.v2.CheckRequest) returns (google.api.servicecontrol.v2.CheckResponse);
     */
    check(input: CheckRequest, options?: RpcOptions): UnaryCall<CheckRequest, CheckResponse>;
    /**
     * Private Preview. This feature is only available for approved services.
     *
     * This method provides telemetry reporting for services that are integrated
     * with [Service
     * Infrastructure](https://cloud.google.com/service-infrastructure). It
     * reports a list of operations that have occurred on a service. It must be
     * called after the operations have been executed. For more information, see
     * [Telemetry
     * Reporting](https://cloud.google.com/service-infrastructure/docs/telemetry-reporting).
     *
     * NOTE: The telemetry reporting has a hard limit of 1000 operations and 1MB
     * per Report call. It is recommended to have no more than 100 operations per
     * call.
     *
     * This method requires the `servicemanagement.services.report` permission
     * on the specified service. For more information, see
     * [Service Control API Access
     * Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control).
     *
     * @generated from protobuf rpc: Report(google.api.servicecontrol.v2.ReportRequest) returns (google.api.servicecontrol.v2.ReportResponse);
     */
    report(input: ReportRequest, options?: RpcOptions): UnaryCall<ReportRequest, ReportResponse>;
}
