// <auto-generated>
// Code generated by https://github.com/kubernetes-client/csharp/tree/master/src/LibKubernetesGenerator
// Changes may cause incorrect behavior and will be lost if the code is
// regenerated.
// </auto-generated>

namespace k8s;

/// <summary>
/// </summary>
public partial interface I{{name}}Operations
{
    {{for api in apis }}
    /// <summary>
    /// {{ToXmlDoc api.operation.description}}
    /// </summary>
    {{ for parameter in api.operation.parameters}}
    /// <param name="{{GetDotNetNameOpenApiParameter parameter "false"}}">
    /// {{ToXmlDoc parameter.description}}
    /// </param>
    {{ end }}
    /// <param name="customHeaders">
    /// The headers that will be added to request.
    /// </param>
    /// <param name="cancellationToken">
    /// A <see cref="CancellationToken"/> which can be used to cancel the asynchronous operation.
    /// </param>
    Task<HttpOperationResponse{{GetReturnType api.operation "<>"}}> {{GetOperationId api.operation "WithHttpMessagesAsync"}}(
{{ for parameter in api.operation.parameters}}
        {{GetDotNetTypeOpenApiParameter parameter}} {{GetDotNetNameOpenApiParameter parameter "true"}},
{{ end }}
        IReadOnlyDictionary<string, IReadOnlyList<string>> customHeaders = null,
        CancellationToken cancellationToken = default);

    {{if IfReturnType api.operation "object"}}
    /// <summary>
    /// {{ToXmlDoc api.operation.description}}
    /// </summary>
    {{ for parameter in api.operation.parameters}}
    /// <param name="{{GetDotNetNameOpenApiParameter parameter "false"}}">
    /// {{ToXmlDoc parameter.description}}
    /// </param>
    {{ end }}
    /// <param name="customHeaders">
    /// The headers that will be added to request.
    /// </param>
    /// <param name="cancellationToken">
    /// A <see cref="CancellationToken"/> which can be used to cancel the asynchronous operation.
    /// </param>
    Task<HttpOperationResponse<T>> {{GetOperationId api.operation "WithHttpMessagesAsync"}}<T>(
{{ for parameter in api.operation.parameters}}
        {{GetDotNetTypeOpenApiParameter parameter}} {{GetDotNetNameOpenApiParameter parameter "true"}},
{{ end }}
        IReadOnlyDictionary<string, IReadOnlyList<string>> customHeaders = null,
        CancellationToken cancellationToken = default);
    {{ end }}

    {{ end }}
}
