import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import type { TailLogEntriesResponse } from "./logging";
import type { TailLogEntriesRequest } from "./logging";
import type { DuplexStreamingCall } from "@protobuf-ts/runtime-rpc";
import type { ListLogsResponse } from "./logging";
import type { ListLogsRequest } from "./logging";
import type { ListMonitoredResourceDescriptorsResponse } from "./logging";
import type { ListMonitoredResourceDescriptorsRequest } from "./logging";
import type { ListLogEntriesResponse } from "./logging";
import type { ListLogEntriesRequest } from "./logging";
import type { WriteLogEntriesResponse } from "./logging";
import type { WriteLogEntriesRequest } from "./logging";
import type { Empty } from "../../protobuf/empty";
import type { DeleteLogRequest } from "./logging";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * Service for ingesting and querying logs.
 *
 * @generated from protobuf service google.logging.v2.LoggingServiceV2
 */
export interface ILoggingServiceV2Client {
    /**
     * Deletes all the log entries in a log for the _Default Log Bucket. The log
     * reappears if it receives new entries. Log entries written shortly before
     * the delete operation might not be deleted. Entries received after the
     * delete operation with a timestamp before the operation will be deleted.
     *
     * @generated from protobuf rpc: DeleteLog(google.logging.v2.DeleteLogRequest) returns (google.protobuf.Empty);
     */
    deleteLog(input: DeleteLogRequest, options?: RpcOptions): UnaryCall<DeleteLogRequest, Empty>;
    /**
     * Writes log entries to Logging. This API method is the
     * only way to send log entries to Logging. This method
     * is used, directly or indirectly, by the Logging agent
     * (fluentd) and all logging libraries configured to use Logging.
     * A single request may contain log entries for a maximum of 1000
     * different resources (projects, organizations, billing accounts or
     * folders)
     *
     * @generated from protobuf rpc: WriteLogEntries(google.logging.v2.WriteLogEntriesRequest) returns (google.logging.v2.WriteLogEntriesResponse);
     */
    writeLogEntries(input: WriteLogEntriesRequest, options?: RpcOptions): UnaryCall<WriteLogEntriesRequest, WriteLogEntriesResponse>;
    /**
     * Lists log entries.  Use this method to retrieve log entries that originated
     * from a project/folder/organization/billing account.  For ways to export log
     * entries, see [Exporting
     * Logs](https://cloud.google.com/logging/docs/export).
     *
     * @generated from protobuf rpc: ListLogEntries(google.logging.v2.ListLogEntriesRequest) returns (google.logging.v2.ListLogEntriesResponse);
     */
    listLogEntries(input: ListLogEntriesRequest, options?: RpcOptions): UnaryCall<ListLogEntriesRequest, ListLogEntriesResponse>;
    /**
     * Lists the descriptors for monitored resource types used by Logging.
     *
     * @generated from protobuf rpc: ListMonitoredResourceDescriptors(google.logging.v2.ListMonitoredResourceDescriptorsRequest) returns (google.logging.v2.ListMonitoredResourceDescriptorsResponse);
     */
    listMonitoredResourceDescriptors(input: ListMonitoredResourceDescriptorsRequest, options?: RpcOptions): UnaryCall<ListMonitoredResourceDescriptorsRequest, ListMonitoredResourceDescriptorsResponse>;
    /**
     * Lists the logs in projects, organizations, folders, or billing accounts.
     * Only logs that have entries are listed.
     *
     * @generated from protobuf rpc: ListLogs(google.logging.v2.ListLogsRequest) returns (google.logging.v2.ListLogsResponse);
     */
    listLogs(input: ListLogsRequest, options?: RpcOptions): UnaryCall<ListLogsRequest, ListLogsResponse>;
    /**
     * Streaming read of log entries as they are ingested. Until the stream is
     * terminated, it will continue reading logs.
     *
     * @generated from protobuf rpc: TailLogEntries(stream google.logging.v2.TailLogEntriesRequest) returns (stream google.logging.v2.TailLogEntriesResponse);
     */
    tailLogEntries(options?: RpcOptions): DuplexStreamingCall<TailLogEntriesRequest, TailLogEntriesResponse>;
}
/**
 * Service for ingesting and querying logs.
 *
 * @generated from protobuf service google.logging.v2.LoggingServiceV2
 */
export declare class LoggingServiceV2Client implements ILoggingServiceV2Client, 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);
    /**
     * Deletes all the log entries in a log for the _Default Log Bucket. The log
     * reappears if it receives new entries. Log entries written shortly before
     * the delete operation might not be deleted. Entries received after the
     * delete operation with a timestamp before the operation will be deleted.
     *
     * @generated from protobuf rpc: DeleteLog(google.logging.v2.DeleteLogRequest) returns (google.protobuf.Empty);
     */
    deleteLog(input: DeleteLogRequest, options?: RpcOptions): UnaryCall<DeleteLogRequest, Empty>;
    /**
     * Writes log entries to Logging. This API method is the
     * only way to send log entries to Logging. This method
     * is used, directly or indirectly, by the Logging agent
     * (fluentd) and all logging libraries configured to use Logging.
     * A single request may contain log entries for a maximum of 1000
     * different resources (projects, organizations, billing accounts or
     * folders)
     *
     * @generated from protobuf rpc: WriteLogEntries(google.logging.v2.WriteLogEntriesRequest) returns (google.logging.v2.WriteLogEntriesResponse);
     */
    writeLogEntries(input: WriteLogEntriesRequest, options?: RpcOptions): UnaryCall<WriteLogEntriesRequest, WriteLogEntriesResponse>;
    /**
     * Lists log entries.  Use this method to retrieve log entries that originated
     * from a project/folder/organization/billing account.  For ways to export log
     * entries, see [Exporting
     * Logs](https://cloud.google.com/logging/docs/export).
     *
     * @generated from protobuf rpc: ListLogEntries(google.logging.v2.ListLogEntriesRequest) returns (google.logging.v2.ListLogEntriesResponse);
     */
    listLogEntries(input: ListLogEntriesRequest, options?: RpcOptions): UnaryCall<ListLogEntriesRequest, ListLogEntriesResponse>;
    /**
     * Lists the descriptors for monitored resource types used by Logging.
     *
     * @generated from protobuf rpc: ListMonitoredResourceDescriptors(google.logging.v2.ListMonitoredResourceDescriptorsRequest) returns (google.logging.v2.ListMonitoredResourceDescriptorsResponse);
     */
    listMonitoredResourceDescriptors(input: ListMonitoredResourceDescriptorsRequest, options?: RpcOptions): UnaryCall<ListMonitoredResourceDescriptorsRequest, ListMonitoredResourceDescriptorsResponse>;
    /**
     * Lists the logs in projects, organizations, folders, or billing accounts.
     * Only logs that have entries are listed.
     *
     * @generated from protobuf rpc: ListLogs(google.logging.v2.ListLogsRequest) returns (google.logging.v2.ListLogsResponse);
     */
    listLogs(input: ListLogsRequest, options?: RpcOptions): UnaryCall<ListLogsRequest, ListLogsResponse>;
    /**
     * Streaming read of log entries as they are ingested. Until the stream is
     * terminated, it will continue reading logs.
     *
     * @generated from protobuf rpc: TailLogEntries(stream google.logging.v2.TailLogEntriesRequest) returns (stream google.logging.v2.TailLogEntriesResponse);
     */
    tailLogEntries(options?: RpcOptions): DuplexStreamingCall<TailLogEntriesRequest, TailLogEntriesResponse>;
}
