// Code generated by gtrace. DO NOT EDIT.

package gtrace

import (
	"github.com/ydb-platform/ydb-go-sdk/v3/trace"
)

// ratelimiterComposeOptions is a holder of options
type ratelimiterComposeOptions struct {
	panicCallback func(e interface{})
}

// RatelimiterOption specified Ratelimiter compose option
// Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
type RatelimiterComposeOption func(o *ratelimiterComposeOptions)

// WithRatelimiterPanicCallback specified behavior on panic
// Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
func WithRatelimiterPanicCallback(cb func(e interface{})) RatelimiterComposeOption {
	return func(o *ratelimiterComposeOptions) {
		o.panicCallback = cb
	}
}

// Compose returns a new Ratelimiter which has functional fields composed both from lhs and rhs.
// Internals: https://github.com/ydb-platform/ydb-go-sdk/blob/master/VERSIONING.md#internals
func Compose(lhs *trace.Ratelimiter, rhs *trace.Ratelimiter, opts ...RatelimiterComposeOption) *trace.Ratelimiter {
	if lhs == nil {
		return rhs
	}
	var ret trace.Ratelimiter
	return &ret
}
