import type { MessageInitShape } from "@bufbuild/protobuf";
import { AcquireResourceRequestSchema, AcquireResourceResponseSchema, AlterResourceRequestSchema, AlterResourceResponseSchema, CreateResourceRequestSchema, CreateResourceResponseSchema, DescribeResourceRequestSchema, DescribeResourceResponseSchema, DropResourceRequestSchema, DropResourceResponseSchema, ListResourcesRequestSchema, ListResourcesResponseSchema } from "./protos/ydb_rate_limiter_pb.js";
/**
 * Control plane API
 *
 * @generated from service Ydb.RateLimiter.V1.RateLimiterService
 */
export declare const RateLimiterServiceDefinition: {
    /**
     * Create a new resource in existing coordination node.
     *
     * @generated from rpc Ydb.RateLimiter.V1.RateLimiterService.CreateResource
     */
    readonly createResource: {
        readonly path: "/Ydb.RateLimiter.V1.RateLimiterService/CreateResource";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof CreateResourceRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").CreateResourceRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof CreateResourceResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").CreateResourceResponse;
        readonly options: {};
    };
    /**
     * Update a resource in coordination node.
     *
     * @generated from rpc Ydb.RateLimiter.V1.RateLimiterService.AlterResource
     */
    readonly alterResource: {
        readonly path: "/Ydb.RateLimiter.V1.RateLimiterService/AlterResource";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof AlterResourceRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").AlterResourceRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof AlterResourceResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").AlterResourceResponse;
        readonly options: {};
    };
    /**
     * Delete a resource from coordination node.
     *
     * @generated from rpc Ydb.RateLimiter.V1.RateLimiterService.DropResource
     */
    readonly dropResource: {
        readonly path: "/Ydb.RateLimiter.V1.RateLimiterService/DropResource";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof DropResourceRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").DropResourceRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof DropResourceResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").DropResourceResponse;
        readonly options: {};
    };
    /**
     * List resources in given coordination node.
     *
     * @generated from rpc Ydb.RateLimiter.V1.RateLimiterService.ListResources
     */
    readonly listResources: {
        readonly path: "/Ydb.RateLimiter.V1.RateLimiterService/ListResources";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof ListResourcesRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").ListResourcesRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof ListResourcesResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").ListResourcesResponse;
        readonly options: {};
    };
    /**
     * Describe properties of resource in coordination node.
     *
     * @generated from rpc Ydb.RateLimiter.V1.RateLimiterService.DescribeResource
     */
    readonly describeResource: {
        readonly path: "/Ydb.RateLimiter.V1.RateLimiterService/DescribeResource";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof DescribeResourceRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").DescribeResourceRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof DescribeResourceResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").DescribeResourceResponse;
        readonly options: {};
    };
    /**
     * Take units for usage of a resource in coordination node.
     *
     * @generated from rpc Ydb.RateLimiter.V1.RateLimiterService.AcquireResource
     */
    readonly acquireResource: {
        readonly path: "/Ydb.RateLimiter.V1.RateLimiterService/AcquireResource";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof AcquireResourceRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").AcquireResourceRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof AcquireResourceResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_rate_limiter_pb.js").AcquireResourceResponse;
        readonly options: {};
    };
};
//# sourceMappingURL=ydb_rate_limiter_v1_grpc_pb.d.ts.map