import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import type { GenerateConfigReportResponse } from "./servicemanager";
import type { GenerateConfigReportRequest } from "./servicemanager";
import type { CreateServiceRolloutRequest } from "./servicemanager";
import type { Rollout } from "./resources";
import type { GetServiceRolloutRequest } from "./servicemanager";
import type { ListServiceRolloutsResponse } from "./servicemanager";
import type { ListServiceRolloutsRequest } from "./servicemanager";
import type { SubmitConfigSourceRequest } from "./servicemanager";
import type { CreateServiceConfigRequest } from "./servicemanager";
import type { Service } from "../../service";
import type { GetServiceConfigRequest } from "./servicemanager";
import type { ListServiceConfigsResponse } from "./servicemanager";
import type { ListServiceConfigsRequest } from "./servicemanager";
import type { UndeleteServiceRequest } from "./servicemanager";
import type { DeleteServiceRequest } from "./servicemanager";
import type { Operation } from "../../../longrunning/operations";
import type { CreateServiceRequest } from "./servicemanager";
import type { ManagedService } from "./resources";
import type { GetServiceRequest } from "./servicemanager";
import type { ListServicesResponse } from "./servicemanager";
import type { ListServicesRequest } from "./servicemanager";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * [Google Service Management
 * API](https://cloud.google.com/service-infrastructure/docs/overview)
 *
 * @generated from protobuf service google.api.servicemanagement.v1.ServiceManager
 */
export interface IServiceManagerClient {
    /**
     * Lists managed services.
     *
     * Returns all public services. For authenticated users, also returns all
     * services the calling user has "servicemanagement.services.get" permission
     * for.
     *
     * @generated from protobuf rpc: ListServices(google.api.servicemanagement.v1.ListServicesRequest) returns (google.api.servicemanagement.v1.ListServicesResponse);
     */
    listServices(input: ListServicesRequest, options?: RpcOptions): UnaryCall<ListServicesRequest, ListServicesResponse>;
    /**
     * Gets a managed service. Authentication is required unless the service is
     * public.
     *
     * @generated from protobuf rpc: GetService(google.api.servicemanagement.v1.GetServiceRequest) returns (google.api.servicemanagement.v1.ManagedService);
     */
    getService(input: GetServiceRequest, options?: RpcOptions): UnaryCall<GetServiceRequest, ManagedService>;
    /**
     * Creates a new managed service.
     *
     * A managed service is immutable, and is subject to mandatory 30-day
     * data retention. You cannot move a service or recreate it within 30 days
     * after deletion.
     *
     * One producer project can own no more than 500 services. For security and
     * reliability purposes, a production service should be hosted in a
     * dedicated producer project.
     *
     * Operation<response: ManagedService>
     *
     * @generated from protobuf rpc: CreateService(google.api.servicemanagement.v1.CreateServiceRequest) returns (google.longrunning.Operation);
     */
    createService(input: CreateServiceRequest, options?: RpcOptions): UnaryCall<CreateServiceRequest, Operation>;
    /**
     * Deletes a managed service. This method will change the service to the
     * `Soft-Delete` state for 30 days. Within this period, service producers may
     * call
     * [UndeleteService][google.api.servicemanagement.v1.ServiceManager.UndeleteService]
     * to restore the service. After 30 days, the service will be permanently
     * deleted.
     *
     * Operation<response: google.protobuf.Empty>
     *
     * @generated from protobuf rpc: DeleteService(google.api.servicemanagement.v1.DeleteServiceRequest) returns (google.longrunning.Operation);
     */
    deleteService(input: DeleteServiceRequest, options?: RpcOptions): UnaryCall<DeleteServiceRequest, Operation>;
    /**
     * Revives a previously deleted managed service. The method restores the
     * service using the configuration at the time the service was deleted.
     * The target service must exist and must have been deleted within the
     * last 30 days.
     *
     * Operation<response: UndeleteServiceResponse>
     *
     * @generated from protobuf rpc: UndeleteService(google.api.servicemanagement.v1.UndeleteServiceRequest) returns (google.longrunning.Operation);
     */
    undeleteService(input: UndeleteServiceRequest, options?: RpcOptions): UnaryCall<UndeleteServiceRequest, Operation>;
    /**
     * Lists the history of the service configuration for a managed service,
     * from the newest to the oldest.
     *
     * @generated from protobuf rpc: ListServiceConfigs(google.api.servicemanagement.v1.ListServiceConfigsRequest) returns (google.api.servicemanagement.v1.ListServiceConfigsResponse);
     */
    listServiceConfigs(input: ListServiceConfigsRequest, options?: RpcOptions): UnaryCall<ListServiceConfigsRequest, ListServiceConfigsResponse>;
    /**
     * Gets a service configuration (version) for a managed service.
     *
     * @generated from protobuf rpc: GetServiceConfig(google.api.servicemanagement.v1.GetServiceConfigRequest) returns (google.api.Service);
     */
    getServiceConfig(input: GetServiceConfigRequest, options?: RpcOptions): UnaryCall<GetServiceConfigRequest, Service>;
    /**
     * Creates a new service configuration (version) for a managed service.
     * This method only stores the service configuration. To roll out the service
     * configuration to backend systems please call
     * [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
     *
     * Only the 100 most recent service configurations and ones referenced by
     * existing rollouts are kept for each service. The rest will be deleted
     * eventually.
     *
     * @generated from protobuf rpc: CreateServiceConfig(google.api.servicemanagement.v1.CreateServiceConfigRequest) returns (google.api.Service);
     */
    createServiceConfig(input: CreateServiceConfigRequest, options?: RpcOptions): UnaryCall<CreateServiceConfigRequest, Service>;
    /**
     * Creates a new service configuration (version) for a managed service based
     * on
     * user-supplied configuration source files (for example: OpenAPI
     * Specification). This method stores the source configurations as well as the
     * generated service configuration. To rollout the service configuration to
     * other services,
     * please call
     * [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
     *
     * Only the 100 most recent configuration sources and ones referenced by
     * existing service configurtions are kept for each service. The rest will be
     * deleted eventually.
     *
     * Operation<response: SubmitConfigSourceResponse>
     *
     * @generated from protobuf rpc: SubmitConfigSource(google.api.servicemanagement.v1.SubmitConfigSourceRequest) returns (google.longrunning.Operation);
     */
    submitConfigSource(input: SubmitConfigSourceRequest, options?: RpcOptions): UnaryCall<SubmitConfigSourceRequest, Operation>;
    /**
     * Lists the history of the service configuration rollouts for a managed
     * service, from the newest to the oldest.
     *
     * @generated from protobuf rpc: ListServiceRollouts(google.api.servicemanagement.v1.ListServiceRolloutsRequest) returns (google.api.servicemanagement.v1.ListServiceRolloutsResponse);
     */
    listServiceRollouts(input: ListServiceRolloutsRequest, options?: RpcOptions): UnaryCall<ListServiceRolloutsRequest, ListServiceRolloutsResponse>;
    /**
     * Gets a service configuration
     * [rollout][google.api.servicemanagement.v1.Rollout].
     *
     * @generated from protobuf rpc: GetServiceRollout(google.api.servicemanagement.v1.GetServiceRolloutRequest) returns (google.api.servicemanagement.v1.Rollout);
     */
    getServiceRollout(input: GetServiceRolloutRequest, options?: RpcOptions): UnaryCall<GetServiceRolloutRequest, Rollout>;
    /**
     * Creates a new service configuration rollout. Based on rollout, the
     * Google Service Management will roll out the service configurations to
     * different backend services. For example, the logging configuration will be
     * pushed to Google Cloud Logging.
     *
     * Please note that any previous pending and running Rollouts and associated
     * Operations will be automatically cancelled so that the latest Rollout will
     * not be blocked by previous Rollouts.
     *
     * Only the 100 most recent (in any state) and the last 10 successful (if not
     * already part of the set of 100 most recent) rollouts are kept for each
     * service. The rest will be deleted eventually.
     *
     * Operation<response: Rollout>
     *
     * @generated from protobuf rpc: CreateServiceRollout(google.api.servicemanagement.v1.CreateServiceRolloutRequest) returns (google.longrunning.Operation);
     */
    createServiceRollout(input: CreateServiceRolloutRequest, options?: RpcOptions): UnaryCall<CreateServiceRolloutRequest, Operation>;
    /**
     * Generates and returns a report (errors, warnings and changes from
     * existing configurations) associated with
     * GenerateConfigReportRequest.new_value
     *
     * If GenerateConfigReportRequest.old_value is specified,
     * GenerateConfigReportRequest will contain a single ChangeReport based on the
     * comparison between GenerateConfigReportRequest.new_value and
     * GenerateConfigReportRequest.old_value.
     * If GenerateConfigReportRequest.old_value is not specified, this method
     * will compare GenerateConfigReportRequest.new_value with the last pushed
     * service configuration.
     *
     * @generated from protobuf rpc: GenerateConfigReport(google.api.servicemanagement.v1.GenerateConfigReportRequest) returns (google.api.servicemanagement.v1.GenerateConfigReportResponse);
     */
    generateConfigReport(input: GenerateConfigReportRequest, options?: RpcOptions): UnaryCall<GenerateConfigReportRequest, GenerateConfigReportResponse>;
}
/**
 * [Google Service Management
 * API](https://cloud.google.com/service-infrastructure/docs/overview)
 *
 * @generated from protobuf service google.api.servicemanagement.v1.ServiceManager
 */
export declare class ServiceManagerClient implements IServiceManagerClient, 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);
    /**
     * Lists managed services.
     *
     * Returns all public services. For authenticated users, also returns all
     * services the calling user has "servicemanagement.services.get" permission
     * for.
     *
     * @generated from protobuf rpc: ListServices(google.api.servicemanagement.v1.ListServicesRequest) returns (google.api.servicemanagement.v1.ListServicesResponse);
     */
    listServices(input: ListServicesRequest, options?: RpcOptions): UnaryCall<ListServicesRequest, ListServicesResponse>;
    /**
     * Gets a managed service. Authentication is required unless the service is
     * public.
     *
     * @generated from protobuf rpc: GetService(google.api.servicemanagement.v1.GetServiceRequest) returns (google.api.servicemanagement.v1.ManagedService);
     */
    getService(input: GetServiceRequest, options?: RpcOptions): UnaryCall<GetServiceRequest, ManagedService>;
    /**
     * Creates a new managed service.
     *
     * A managed service is immutable, and is subject to mandatory 30-day
     * data retention. You cannot move a service or recreate it within 30 days
     * after deletion.
     *
     * One producer project can own no more than 500 services. For security and
     * reliability purposes, a production service should be hosted in a
     * dedicated producer project.
     *
     * Operation<response: ManagedService>
     *
     * @generated from protobuf rpc: CreateService(google.api.servicemanagement.v1.CreateServiceRequest) returns (google.longrunning.Operation);
     */
    createService(input: CreateServiceRequest, options?: RpcOptions): UnaryCall<CreateServiceRequest, Operation>;
    /**
     * Deletes a managed service. This method will change the service to the
     * `Soft-Delete` state for 30 days. Within this period, service producers may
     * call
     * [UndeleteService][google.api.servicemanagement.v1.ServiceManager.UndeleteService]
     * to restore the service. After 30 days, the service will be permanently
     * deleted.
     *
     * Operation<response: google.protobuf.Empty>
     *
     * @generated from protobuf rpc: DeleteService(google.api.servicemanagement.v1.DeleteServiceRequest) returns (google.longrunning.Operation);
     */
    deleteService(input: DeleteServiceRequest, options?: RpcOptions): UnaryCall<DeleteServiceRequest, Operation>;
    /**
     * Revives a previously deleted managed service. The method restores the
     * service using the configuration at the time the service was deleted.
     * The target service must exist and must have been deleted within the
     * last 30 days.
     *
     * Operation<response: UndeleteServiceResponse>
     *
     * @generated from protobuf rpc: UndeleteService(google.api.servicemanagement.v1.UndeleteServiceRequest) returns (google.longrunning.Operation);
     */
    undeleteService(input: UndeleteServiceRequest, options?: RpcOptions): UnaryCall<UndeleteServiceRequest, Operation>;
    /**
     * Lists the history of the service configuration for a managed service,
     * from the newest to the oldest.
     *
     * @generated from protobuf rpc: ListServiceConfigs(google.api.servicemanagement.v1.ListServiceConfigsRequest) returns (google.api.servicemanagement.v1.ListServiceConfigsResponse);
     */
    listServiceConfigs(input: ListServiceConfigsRequest, options?: RpcOptions): UnaryCall<ListServiceConfigsRequest, ListServiceConfigsResponse>;
    /**
     * Gets a service configuration (version) for a managed service.
     *
     * @generated from protobuf rpc: GetServiceConfig(google.api.servicemanagement.v1.GetServiceConfigRequest) returns (google.api.Service);
     */
    getServiceConfig(input: GetServiceConfigRequest, options?: RpcOptions): UnaryCall<GetServiceConfigRequest, Service>;
    /**
     * Creates a new service configuration (version) for a managed service.
     * This method only stores the service configuration. To roll out the service
     * configuration to backend systems please call
     * [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
     *
     * Only the 100 most recent service configurations and ones referenced by
     * existing rollouts are kept for each service. The rest will be deleted
     * eventually.
     *
     * @generated from protobuf rpc: CreateServiceConfig(google.api.servicemanagement.v1.CreateServiceConfigRequest) returns (google.api.Service);
     */
    createServiceConfig(input: CreateServiceConfigRequest, options?: RpcOptions): UnaryCall<CreateServiceConfigRequest, Service>;
    /**
     * Creates a new service configuration (version) for a managed service based
     * on
     * user-supplied configuration source files (for example: OpenAPI
     * Specification). This method stores the source configurations as well as the
     * generated service configuration. To rollout the service configuration to
     * other services,
     * please call
     * [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
     *
     * Only the 100 most recent configuration sources and ones referenced by
     * existing service configurtions are kept for each service. The rest will be
     * deleted eventually.
     *
     * Operation<response: SubmitConfigSourceResponse>
     *
     * @generated from protobuf rpc: SubmitConfigSource(google.api.servicemanagement.v1.SubmitConfigSourceRequest) returns (google.longrunning.Operation);
     */
    submitConfigSource(input: SubmitConfigSourceRequest, options?: RpcOptions): UnaryCall<SubmitConfigSourceRequest, Operation>;
    /**
     * Lists the history of the service configuration rollouts for a managed
     * service, from the newest to the oldest.
     *
     * @generated from protobuf rpc: ListServiceRollouts(google.api.servicemanagement.v1.ListServiceRolloutsRequest) returns (google.api.servicemanagement.v1.ListServiceRolloutsResponse);
     */
    listServiceRollouts(input: ListServiceRolloutsRequest, options?: RpcOptions): UnaryCall<ListServiceRolloutsRequest, ListServiceRolloutsResponse>;
    /**
     * Gets a service configuration
     * [rollout][google.api.servicemanagement.v1.Rollout].
     *
     * @generated from protobuf rpc: GetServiceRollout(google.api.servicemanagement.v1.GetServiceRolloutRequest) returns (google.api.servicemanagement.v1.Rollout);
     */
    getServiceRollout(input: GetServiceRolloutRequest, options?: RpcOptions): UnaryCall<GetServiceRolloutRequest, Rollout>;
    /**
     * Creates a new service configuration rollout. Based on rollout, the
     * Google Service Management will roll out the service configurations to
     * different backend services. For example, the logging configuration will be
     * pushed to Google Cloud Logging.
     *
     * Please note that any previous pending and running Rollouts and associated
     * Operations will be automatically cancelled so that the latest Rollout will
     * not be blocked by previous Rollouts.
     *
     * Only the 100 most recent (in any state) and the last 10 successful (if not
     * already part of the set of 100 most recent) rollouts are kept for each
     * service. The rest will be deleted eventually.
     *
     * Operation<response: Rollout>
     *
     * @generated from protobuf rpc: CreateServiceRollout(google.api.servicemanagement.v1.CreateServiceRolloutRequest) returns (google.longrunning.Operation);
     */
    createServiceRollout(input: CreateServiceRolloutRequest, options?: RpcOptions): UnaryCall<CreateServiceRolloutRequest, Operation>;
    /**
     * Generates and returns a report (errors, warnings and changes from
     * existing configurations) associated with
     * GenerateConfigReportRequest.new_value
     *
     * If GenerateConfigReportRequest.old_value is specified,
     * GenerateConfigReportRequest will contain a single ChangeReport based on the
     * comparison between GenerateConfigReportRequest.new_value and
     * GenerateConfigReportRequest.old_value.
     * If GenerateConfigReportRequest.old_value is not specified, this method
     * will compare GenerateConfigReportRequest.new_value with the last pushed
     * service configuration.
     *
     * @generated from protobuf rpc: GenerateConfigReport(google.api.servicemanagement.v1.GenerateConfigReportRequest) returns (google.api.servicemanagement.v1.GenerateConfigReportResponse);
     */
    generateConfigReport(input: GenerateConfigReportRequest, options?: RpcOptions): UnaryCall<GenerateConfigReportRequest, GenerateConfigReportResponse>;
}
