import { Long, unknownFieldsSymbol } from "../../../../runtime/protos/index.js"; import type { Dayjs, MessageDescriptor, MessageFns, EnumInstance, EnumClass } from "../../../../runtime/protos/index.js"; import { customJson } from "../../../../runtime/util/logging.js"; import { ChannelCredentials, Client, ClientUnaryCall, ClientOptions, CallOptions, Metadata, ServiceError as GrpcServiceError, handleUnaryCall, UntypedServiceImplementation } from "@grpc/grpc-js"; import type { SDKInterface } from "../../../../sdk.js"; import { Request as SDKRequestClass, type RetryOptions } from "../../../../runtime/request.js"; import { Operation as OperationWrapper } from "../../../../runtime/operation.js"; import { GetOperationRequest, Operation, OperationService, ResourceMetadata, ServiceError } from "../../common/v1/index.js"; import { CreateDiskRequest, CreateFilesystemRequest, CreateInstanceRequest, UpdateDiskRequest, UpdateFilesystemRequest, UpdateInstanceRequest } from "../../compute/v1/index.js"; /** * Supported export formats for billing reports. * */ export type ExportFormat = EnumInstance<"UNRECOGNIZED" | "EXPORT_FORMAT_UNSPECIFIED" | "EXPORT_FORMAT_FOCUS_1_2_CSV" | "EXPORT_FORMAT_CONSUMPTION_BREAKDOWN_PDF">; /** Defines the static values of {@link ExportFormat}. */ export interface ExportFormatValueMembers { /** * Represents the `EXPORT_FORMAT_UNSPECIFIED` protobuf enum value. */ readonly EXPORT_FORMAT_UNSPECIFIED: EnumInstance<"UNRECOGNIZED" | "EXPORT_FORMAT_UNSPECIFIED" | "EXPORT_FORMAT_FOCUS_1_2_CSV" | "EXPORT_FORMAT_CONSUMPTION_BREAKDOWN_PDF">; /** * FOCUS (FinOps Open Cost and Usage Specification) v1.2 CSV format. * See: https://focus.finops.org/focus-specification/v1-2/ * */ readonly EXPORT_FORMAT_FOCUS_1_2_CSV: EnumInstance<"UNRECOGNIZED" | "EXPORT_FORMAT_UNSPECIFIED" | "EXPORT_FORMAT_FOCUS_1_2_CSV" | "EXPORT_FORMAT_CONSUMPTION_BREAKDOWN_PDF">; /** * Consumption Breakdown PDF format. * Single-period human-readable cost breakdown report exported as a PDF file. * */ readonly EXPORT_FORMAT_CONSUMPTION_BREAKDOWN_PDF: EnumInstance<"UNRECOGNIZED" | "EXPORT_FORMAT_UNSPECIFIED" | "EXPORT_FORMAT_FOCUS_1_2_CSV" | "EXPORT_FORMAT_CONSUMPTION_BREAKDOWN_PDF">; } /** Defines the runtime API for {@link ExportFormat}. */ export type ExportFormatClass = EnumClass<"UNRECOGNIZED" | "EXPORT_FORMAT_UNSPECIFIED" | "EXPORT_FORMAT_FOCUS_1_2_CSV" | "EXPORT_FORMAT_CONSUMPTION_BREAKDOWN_PDF"> & ExportFormatValueMembers; /** Converts and creates {@link ExportFormat} values. */ export declare const ExportFormat: ExportFormatClass; /** Represents the `nebius.billing.v1alpha1.EstimateRequest` protobuf message. */ export interface EstimateRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.EstimateRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Resource specification for cost estimation. * Must contain exactly one resource type. * */ resourceSpec?: ResourceSpec | undefined; /** * Type of offers to be applied to the cost estimate. * */ offerTypes: OfferType[]; } /** Encodes, decodes, converts, and creates {@link EstimateRequest} messages. */ export declare const EstimateRequest: MessageFns; /** Represents the `nebius.billing.v1alpha1.EstimateResponse` protobuf message. */ export interface EstimateResponse { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.EstimateResponse"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Estimated hourly cost for the resource. * */ hourlyCost?: ResourceGroupCost | undefined; /** * Estimated monthly cost for the resource. * Calculated as hourly_cost * 24 * 30 (720 hours) for resources running continuously. * */ monthlyCost?: ResourceGroupCost | undefined; } /** Encodes, decodes, converts, and creates {@link EstimateResponse} messages. */ export declare const EstimateResponse: MessageFns; /** Represents the `nebius.billing.v1alpha1.EstimateBatchRequest` protobuf message. */ export interface EstimateBatchRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.EstimateBatchRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * List of resource specifications for cost estimation. * Each resource will be priced individually and then aggregated into total costs. * */ resourceSpecs: ResourceSpec[]; /** * Type of offers to be applied to the cost estimate. * */ offerTypes: OfferType[]; } /** Encodes, decodes, converts, and creates {@link EstimateBatchRequest} messages. */ export declare const EstimateBatchRequest: MessageFns; /** Represents the `nebius.billing.v1alpha1.EstimateBatchResponse` protobuf message. */ export interface EstimateBatchResponse { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.EstimateBatchResponse"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Estimated hourly cost for all resources in the batch. * */ hourlyCost?: ResourceGroupCost | undefined; /** * Estimated monthly cost for all resources in the batch. * Calculated as hourly_cost * 24 * 30 (720 hours) for resources running continuously. * */ monthlyCost?: ResourceGroupCost | undefined; } /** Encodes, decodes, converts, and creates {@link EstimateBatchResponse} messages. */ export declare const EstimateBatchResponse: MessageFns; /** * Defines the gRPC methods for the `nebius.billing.v1alpha1.CalculatorService` service. */ export type CalculatorServiceServiceDescription = typeof CalculatorServiceServiceDescription; /** * Describes the gRPC methods for the `nebius.billing.v1alpha1.CalculatorService` service. */ export declare const CalculatorServiceServiceDescription: { readonly estimate: { readonly path: "/nebius.billing.v1alpha1.CalculatorService/Estimate"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: EstimateRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => EstimateRequest; readonly responseSerialize: (value: EstimateResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => EstimateResponse; }; readonly estimateBatch: { readonly path: "/nebius.billing.v1alpha1.CalculatorService/EstimateBatch"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: EstimateBatchRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => EstimateBatchRequest; readonly responseSerialize: (value: EstimateBatchResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => EstimateBatchResponse; }; }; /** * Handles server calls for the `nebius.billing.v1alpha1.CalculatorService` service. */ export interface CalculatorServiceServer extends UntypedServiceImplementation { /** * Estimates prices for a single resource. * Returns both hourly and monthly cost estimates for the specified resource configuration. * */ estimate: handleUnaryCall; /** * Estimates prices for multiple resources. * Returns aggregated hourly and monthly cost estimates for all specified resources. * */ estimateBatch: handleUnaryCall; } /** * Defines the low-level gRPC client for the `nebius.billing.v1alpha1.CalculatorService` service. */ export interface CalculatorServiceBaseClient extends Client { /** * Estimates prices for a single resource. * Returns both hourly and monthly cost estimates for the specified resource configuration. * */ estimate(request: EstimateRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: EstimateResponse) => void): ClientUnaryCall; /** * Estimates prices for multiple resources. * Returns aggregated hourly and monthly cost estimates for all specified resources. * */ estimateBatch(request: EstimateBatchRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: EstimateBatchResponse) => void): ClientUnaryCall; } /** * Creates low-level gRPC clients for the `nebius.billing.v1alpha1.CalculatorService` service. */ export declare const CalculatorServiceBaseClient: { /** Creates a low-level client for the service address. */ new (address: string, credentials: ChannelCredentials, options?: Partial): CalculatorServiceBaseClient; /** Contains the gRPC service description. */ service: typeof CalculatorServiceServiceDescription; /** Contains the fully qualified protobuf service name. */ serviceName: string; }; /** * Calculator service for estimating resource costs. * */ export interface CalculatorService { /** Contains the fully qualified protobuf service name. */ $type: "nebius.billing.v1alpha1.CalculatorService"; /** * Estimates prices for a single resource. * Returns both hourly and monthly cost estimates for the specified resource configuration. * */ estimate(request: EstimateRequest): SDKRequestClass; /** * Estimates prices for a single resource. * Returns both hourly and monthly cost estimates for the specified resource configuration. * */ estimate(request: EstimateRequest, metadata: Metadata): SDKRequestClass; /** * Estimates prices for a single resource. * Returns both hourly and monthly cost estimates for the specified resource configuration. * */ estimate(request: EstimateRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Estimates prices for multiple resources. * Returns aggregated hourly and monthly cost estimates for all specified resources. * */ estimateBatch(request: EstimateBatchRequest): SDKRequestClass; /** * Estimates prices for multiple resources. * Returns aggregated hourly and monthly cost estimates for all specified resources. * */ estimateBatch(request: EstimateBatchRequest, metadata: Metadata): SDKRequestClass; /** * Estimates prices for multiple resources. * Returns aggregated hourly and monthly cost estimates for all specified resources. * */ estimateBatch(request: EstimateBatchRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; } /** * Calls the `nebius.billing.v1alpha1.CalculatorService` service through the Nebius SDK. */ export declare class CalculatorService implements CalculatorService { private sdk; $type: "nebius.billing.v1alpha1.CalculatorService"; private addr; private spec; private apiServiceName; /** Creates a client that uses the SDK service address. */ constructor(sdk: SDKInterface); /** * Estimates prices for a single resource. * Returns both hourly and monthly cost estimates for the specified resource configuration. * */ estimate(request: EstimateRequest): SDKRequestClass; /** * Estimates prices for a single resource. * Returns both hourly and monthly cost estimates for the specified resource configuration. * */ estimate(request: EstimateRequest, metadata: Metadata): SDKRequestClass; /** * Estimates prices for a single resource. * Returns both hourly and monthly cost estimates for the specified resource configuration. * */ estimate(request: EstimateRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Estimates prices for multiple resources. * Returns aggregated hourly and monthly cost estimates for all specified resources. * */ estimateBatch(request: EstimateBatchRequest): SDKRequestClass; /** * Estimates prices for multiple resources. * Returns aggregated hourly and monthly cost estimates for all specified resources. * */ estimateBatch(request: EstimateBatchRequest, metadata: Metadata): SDKRequestClass; /** * Estimates prices for multiple resources. * Returns aggregated hourly and monthly cost estimates for all specified resources. * */ estimateBatch(request: EstimateBatchRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; } /** * Resource specification for cost estimation. * Contains the specifications for creating and updating different types of resources. * */ export interface ResourceSpec { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.ResourceSpec"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** Contains the selected value for the `resource_spec` protobuf oneof. */ resourceSpec?: { $case: "computeInstanceSpec"; computeInstanceSpec: CreateInstanceRequest; } | { $case: "computeInstanceUpdateSpec"; computeInstanceUpdateSpec: UpdateInstanceRequest; } | { $case: "computeDiskSpec"; computeDiskSpec: CreateDiskRequest; } | { $case: "computeDiskUpdateSpec"; computeDiskUpdateSpec: UpdateDiskRequest; } | { $case: "computeFilesystemSpec"; computeFilesystemSpec: CreateFilesystemRequest; } | { $case: "computeFilesystemUpdateSpec"; computeFilesystemUpdateSpec: UpdateFilesystemRequest; } | undefined; } /** Encodes, decodes, converts, and creates {@link ResourceSpec} messages. */ export declare const ResourceSpec: MessageFns; /** * Cost information for a group of resources. * */ export interface ResourceGroupCost { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.ResourceGroupCost"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** Contains the selected value for the `cost_type` protobuf oneof. */ costType?: { $case: "general"; general: GeneralTotalCost; } | undefined; } /** Encodes, decodes, converts, and creates {@link ResourceGroupCost} messages. */ export declare const ResourceGroupCost: MessageFns; /** * General total cost with a single fixed amount. * Used for resources with predictable, non-variable pricing. * */ export interface GeneralTotalCost { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.GeneralTotalCost"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Cost breakdown including all SKUs and their individual costs. * */ total?: CostBreakdown | undefined; } /** Encodes, decodes, converts, and creates {@link GeneralTotalCost} messages. */ export declare const GeneralTotalCost: MessageFns; /** * General resource cost for single-unit resources. * Used for resources like compute instances or disks where the unit count is not variable. * */ export interface GeneralResourceCost { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.GeneralResourceCost"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Cost breakdown for the resource including all SKU costs and total cost. * */ total?: CostBreakdown | undefined; } /** Encodes, decodes, converts, and creates {@link GeneralResourceCost} messages. */ export declare const GeneralResourceCost: MessageFns; /** * Detailed cost breakdown showing individual SKU costs and totals. * */ export interface CostBreakdown { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.CostBreakdown"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Total cost as a decimal string. * Represents the sum of all SKU costs with full precision. * Example: "42.123456789" for precise billing calculations. * */ cost: string; /** * Total cost rounded up to 2 decimal places. * Example: "42.13" * */ costRounded: string; } /** Encodes, decodes, converts, and creates {@link CostBreakdown} messages. */ export declare const CostBreakdown: MessageFns; /** * OfferType is a enum that specifies the type of offer. * */ export type OfferType = EnumInstance<"UNRECOGNIZED" | "OFFER_TYPE_UNSPECIFIED" | "OFFER_TYPE_CONTRACT_PRICE">; /** Defines the static values of {@link OfferType}. */ export interface OfferTypeValueMembers { /** * Represents the `OFFER_TYPE_UNSPECIFIED` protobuf enum value. */ readonly OFFER_TYPE_UNSPECIFIED: EnumInstance<"UNRECOGNIZED" | "OFFER_TYPE_UNSPECIFIED" | "OFFER_TYPE_CONTRACT_PRICE">; /** * Contract price is a special price for SKU. * */ readonly OFFER_TYPE_CONTRACT_PRICE: EnumInstance<"UNRECOGNIZED" | "OFFER_TYPE_UNSPECIFIED" | "OFFER_TYPE_CONTRACT_PRICE">; } /** Defines the runtime API for {@link OfferType}. */ export type OfferTypeClass = EnumClass<"UNRECOGNIZED" | "OFFER_TYPE_UNSPECIFIED" | "OFFER_TYPE_CONTRACT_PRICE"> & OfferTypeValueMembers; /** Converts and creates {@link OfferType} values. */ export declare const OfferType: OfferTypeClass; /** Represents the `nebius.billing.v1alpha1.CreateOneTimeExportRequest` protobuf message. */ export interface CreateOneTimeExportRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.CreateOneTimeExportRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Resource metadata including parent contract ID. * */ metadata?: ResourceMetadata | undefined; /** * Export configuration specification. * */ spec?: OneTimeExportSpec | undefined; } /** Encodes, decodes, converts, and creates {@link CreateOneTimeExportRequest} messages. */ export declare const CreateOneTimeExportRequest: MessageFns; /** Represents the `nebius.billing.v1alpha1.GetOneTimeExportRequest` protobuf message. */ export interface GetOneTimeExportRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.GetOneTimeExportRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Unique identifier of the one-time export. * */ id: string; } /** Encodes, decodes, converts, and creates {@link GetOneTimeExportRequest} messages. */ export declare const GetOneTimeExportRequest: MessageFns; /** Represents the `nebius.billing.v1alpha1.ListOneTimeExportsRequest` protobuf message. */ export interface ListOneTimeExportsRequest { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.ListOneTimeExportsRequest"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Parent contract ID for which to list one-time exports. * */ parentId: string; /** * Maximum number of items to return per page. * */ pageSize: Long; /** * Token for retrieving the next page of results. * */ pageToken: string; } /** Encodes, decodes, converts, and creates {@link ListOneTimeExportsRequest} messages. */ export declare const ListOneTimeExportsRequest: MessageFns; /** Represents the `nebius.billing.v1alpha1.ListOneTimeExportsResponse` protobuf message. */ export interface ListOneTimeExportsResponse { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.ListOneTimeExportsResponse"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * List of one-time exports for the specified contract. * */ items: OneTimeExport[]; /** * Token for retrieving the next page of results. Empty if no more pages. * */ nextPageToken: string; } /** Encodes, decodes, converts, and creates {@link ListOneTimeExportsResponse} messages. */ export declare const ListOneTimeExportsResponse: MessageFns; /** * Defines the gRPC methods for the `nebius.billing.v1alpha1.OneTimeExportService` service. */ export type OneTimeExportServiceServiceDescription = typeof OneTimeExportServiceServiceDescription; /** * Describes the gRPC methods for the `nebius.billing.v1alpha1.OneTimeExportService` service. */ export declare const OneTimeExportServiceServiceDescription: { readonly create: { readonly path: "/nebius.billing.v1alpha1.OneTimeExportService/Create"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: CreateOneTimeExportRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => CreateOneTimeExportRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; readonly get: { readonly path: "/nebius.billing.v1alpha1.OneTimeExportService/Get"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetOneTimeExportRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => GetOneTimeExportRequest; readonly responseSerialize: (value: OneTimeExport) => Buffer; readonly responseDeserialize: (value: Buffer) => OneTimeExport; }; readonly list: { readonly path: "/nebius.billing.v1alpha1.OneTimeExportService/List"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListOneTimeExportsRequest) => Buffer; readonly requestDescriptor: () => MessageDescriptor | undefined; readonly sendResetMask: false; readonly requestDeserialize: (value: Buffer) => ListOneTimeExportsRequest; readonly responseSerialize: (value: ListOneTimeExportsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListOneTimeExportsResponse; }; }; /** * Handles server calls for the `nebius.billing.v1alpha1.OneTimeExportService` service. */ export interface OneTimeExportServiceServer extends UntypedServiceImplementation { /** * Creates a new one-time export of billing reports for the requested period. * */ create: handleUnaryCall; /** * Retrieves details of a specific one-time export. * When the export is complete, the response includes a fresh presigned download URL. * */ get: handleUnaryCall; /** * Lists one-time exports for a given contract. * */ list: handleUnaryCall; } /** * Defines the low-level gRPC client for the `nebius.billing.v1alpha1.OneTimeExportService` service. */ export interface OneTimeExportServiceBaseClient extends Client { /** * Creates a new one-time export of billing reports for the requested period. * */ create(request: CreateOneTimeExportRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Retrieves details of a specific one-time export. * When the export is complete, the response includes a fresh presigned download URL. * */ get(request: GetOneTimeExportRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: OneTimeExport) => void): ClientUnaryCall; /** * Lists one-time exports for a given contract. * */ list(request: ListOneTimeExportsRequest, metadata: Metadata, options: Partial, callback: (error: GrpcServiceError | null, response: ListOneTimeExportsResponse) => void): ClientUnaryCall; } /** * Creates low-level gRPC clients for the `nebius.billing.v1alpha1.OneTimeExportService` service. */ export declare const OneTimeExportServiceBaseClient: { /** Creates a low-level client for the service address. */ new (address: string, credentials: ChannelCredentials, options?: Partial): OneTimeExportServiceBaseClient; /** Contains the gRPC service description. */ service: typeof OneTimeExportServiceServiceDescription; /** Contains the fully qualified protobuf service name. */ serviceName: string; }; /** * Service for managing one-time billing report exports. * Enables creation of downloadable archives of billing data for a specified period. * */ export interface OneTimeExportService { /** Contains the fully qualified protobuf service name. */ $type: "nebius.billing.v1alpha1.OneTimeExportService"; /** * Creates a new one-time export of billing reports for the requested period. * */ create(request: CreateOneTimeExportRequest): SDKRequestClass>; /** * Creates a new one-time export of billing reports for the requested period. * */ create(request: CreateOneTimeExportRequest, metadata: Metadata): SDKRequestClass>; /** * Creates a new one-time export of billing reports for the requested period. * */ create(request: CreateOneTimeExportRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Retrieves details of a specific one-time export. * When the export is complete, the response includes a fresh presigned download URL. * */ get(request: GetOneTimeExportRequest): SDKRequestClass; /** * Retrieves details of a specific one-time export. * When the export is complete, the response includes a fresh presigned download URL. * */ get(request: GetOneTimeExportRequest, metadata: Metadata): SDKRequestClass; /** * Retrieves details of a specific one-time export. * When the export is complete, the response includes a fresh presigned download URL. * */ get(request: GetOneTimeExportRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Lists one-time exports for a given contract. * */ list(request: ListOneTimeExportsRequest): SDKRequestClass; /** * Lists one-time exports for a given contract. * */ list(request: ListOneTimeExportsRequest, metadata: Metadata): SDKRequestClass; /** * Lists one-time exports for a given contract. * */ list(request: ListOneTimeExportsRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; } /** * Calls the `nebius.billing.v1alpha1.OneTimeExportService` service through the Nebius SDK. */ export declare class OneTimeExportService implements OneTimeExportService { private sdk; $type: "nebius.billing.v1alpha1.OneTimeExportService"; private addr; private spec; private apiServiceName; /** Creates a client that uses the SDK service address. */ constructor(sdk: SDKInterface); /** Returns the operation service for this service address. */ getOperationService(): OperationService; /** * Creates a new one-time export of billing reports for the requested period. * */ create(request: CreateOneTimeExportRequest): SDKRequestClass>; /** * Creates a new one-time export of billing reports for the requested period. * */ create(request: CreateOneTimeExportRequest, metadata: Metadata): SDKRequestClass>; /** * Creates a new one-time export of billing reports for the requested period. * */ create(request: CreateOneTimeExportRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass>; /** * Retrieves details of a specific one-time export. * When the export is complete, the response includes a fresh presigned download URL. * */ get(request: GetOneTimeExportRequest): SDKRequestClass; /** * Retrieves details of a specific one-time export. * When the export is complete, the response includes a fresh presigned download URL. * */ get(request: GetOneTimeExportRequest, metadata: Metadata): SDKRequestClass; /** * Retrieves details of a specific one-time export. * When the export is complete, the response includes a fresh presigned download URL. * */ get(request: GetOneTimeExportRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; /** * Lists one-time exports for a given contract. * */ list(request: ListOneTimeExportsRequest): SDKRequestClass; /** * Lists one-time exports for a given contract. * */ list(request: ListOneTimeExportsRequest, metadata: Metadata): SDKRequestClass; /** * Lists one-time exports for a given contract. * */ list(request: ListOneTimeExportsRequest, metadata: Metadata, options: Partial & RetryOptions): SDKRequestClass; } /** * Lifecycle states for one-time export. * */ export type OneTimeExportState = EnumInstance<"UNRECOGNIZED" | "ONE_TIME_EXPORT_STATE_UNSPECIFIED" | "ONE_TIME_EXPORT_STATE_SCHEDULED" | "ONE_TIME_EXPORT_STATE_RUNNING" | "ONE_TIME_EXPORT_STATE_SUCCESS" | "ONE_TIME_EXPORT_STATE_FAILED" | "ONE_TIME_EXPORT_STATE_ARCHIVED">; /** Defines the static values of {@link OneTimeExportState}. */ export interface OneTimeExportStateValueMembers { /** * Represents the `ONE_TIME_EXPORT_STATE_UNSPECIFIED` protobuf enum value. */ readonly ONE_TIME_EXPORT_STATE_UNSPECIFIED: EnumInstance<"UNRECOGNIZED" | "ONE_TIME_EXPORT_STATE_UNSPECIFIED" | "ONE_TIME_EXPORT_STATE_SCHEDULED" | "ONE_TIME_EXPORT_STATE_RUNNING" | "ONE_TIME_EXPORT_STATE_SUCCESS" | "ONE_TIME_EXPORT_STATE_FAILED" | "ONE_TIME_EXPORT_STATE_ARCHIVED">; /** * Export has been created and is scheduled for processing. * */ readonly ONE_TIME_EXPORT_STATE_SCHEDULED: EnumInstance<"UNRECOGNIZED" | "ONE_TIME_EXPORT_STATE_UNSPECIFIED" | "ONE_TIME_EXPORT_STATE_SCHEDULED" | "ONE_TIME_EXPORT_STATE_RUNNING" | "ONE_TIME_EXPORT_STATE_SUCCESS" | "ONE_TIME_EXPORT_STATE_FAILED" | "ONE_TIME_EXPORT_STATE_ARCHIVED">; /** * Export is in progress. * */ readonly ONE_TIME_EXPORT_STATE_RUNNING: EnumInstance<"UNRECOGNIZED" | "ONE_TIME_EXPORT_STATE_UNSPECIFIED" | "ONE_TIME_EXPORT_STATE_SCHEDULED" | "ONE_TIME_EXPORT_STATE_RUNNING" | "ONE_TIME_EXPORT_STATE_SUCCESS" | "ONE_TIME_EXPORT_STATE_FAILED" | "ONE_TIME_EXPORT_STATE_ARCHIVED">; /** * Export completed successfully. Download URL is available. * */ readonly ONE_TIME_EXPORT_STATE_SUCCESS: EnumInstance<"UNRECOGNIZED" | "ONE_TIME_EXPORT_STATE_UNSPECIFIED" | "ONE_TIME_EXPORT_STATE_SCHEDULED" | "ONE_TIME_EXPORT_STATE_RUNNING" | "ONE_TIME_EXPORT_STATE_SUCCESS" | "ONE_TIME_EXPORT_STATE_FAILED" | "ONE_TIME_EXPORT_STATE_ARCHIVED">; /** * Export failed. See error field for details. * */ readonly ONE_TIME_EXPORT_STATE_FAILED: EnumInstance<"UNRECOGNIZED" | "ONE_TIME_EXPORT_STATE_UNSPECIFIED" | "ONE_TIME_EXPORT_STATE_SCHEDULED" | "ONE_TIME_EXPORT_STATE_RUNNING" | "ONE_TIME_EXPORT_STATE_SUCCESS" | "ONE_TIME_EXPORT_STATE_FAILED" | "ONE_TIME_EXPORT_STATE_ARCHIVED">; /** * Export has been archived and the archive is no longer available for download. * */ readonly ONE_TIME_EXPORT_STATE_ARCHIVED: EnumInstance<"UNRECOGNIZED" | "ONE_TIME_EXPORT_STATE_UNSPECIFIED" | "ONE_TIME_EXPORT_STATE_SCHEDULED" | "ONE_TIME_EXPORT_STATE_RUNNING" | "ONE_TIME_EXPORT_STATE_SUCCESS" | "ONE_TIME_EXPORT_STATE_FAILED" | "ONE_TIME_EXPORT_STATE_ARCHIVED">; } /** Defines the runtime API for {@link OneTimeExportState}. */ export type OneTimeExportStateClass = EnumClass<"UNRECOGNIZED" | "ONE_TIME_EXPORT_STATE_UNSPECIFIED" | "ONE_TIME_EXPORT_STATE_SCHEDULED" | "ONE_TIME_EXPORT_STATE_RUNNING" | "ONE_TIME_EXPORT_STATE_SUCCESS" | "ONE_TIME_EXPORT_STATE_FAILED" | "ONE_TIME_EXPORT_STATE_ARCHIVED"> & OneTimeExportStateValueMembers; /** Converts and creates {@link OneTimeExportState} values. */ export declare const OneTimeExportState: OneTimeExportStateClass; /** * One-time export of billing reports as a downloadable archive. * Creates a .tar.gz archive of FOCUS billing data for the requested period * and provides a presigned download URL. * */ export interface OneTimeExport { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.OneTimeExport"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Parent is Contract ID. * */ metadata?: ResourceMetadata | undefined; /** * Export configuration specification. * */ spec?: OneTimeExportSpec | undefined; /** * Current status of the one-time export. * */ status?: OneTimeExportStatus | undefined; } /** Encodes, decodes, converts, and creates {@link OneTimeExport} messages. */ export declare const OneTimeExport: MessageFns; /** * Specification for one-time billing report export. * */ export interface OneTimeExportSpec { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.OneTimeExportSpec"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Format of the exported billing reports. * */ format: ExportFormat; /** * The first billing period to include in the export (inclusive). * Example: "2025-04". * */ startPeriod: string; /** * The last billing period to include in the export (inclusive). * Example: "2025-06". * */ endPeriod: string; } /** Encodes, decodes, converts, and creates {@link OneTimeExportSpec} messages. */ export declare const OneTimeExportSpec: MessageFns; /** * Status information for one-time export. * */ export interface OneTimeExportStatus { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.OneTimeExportStatus"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Current state of the export. * */ state: OneTimeExportState; /** * Presigned download URL for the archive. * Populated only when state is DONE. Each Get request generates a fresh URL. * */ downloadUrl: string; /** * Timestamp when this export expires. * */ expiresAt?: Dayjs | undefined; /** * Additional details about the current state. * */ stateDetails?: OneTimeExportStateDetails | undefined; } /** Encodes, decodes, converts, and creates {@link OneTimeExportStatus} messages. */ export declare const OneTimeExportStatus: MessageFns; /** * Additional details about the current state of the export. * */ export interface OneTimeExportStateDetails { /** Contains the fully qualified protobuf type name. */ $type: "nebius.billing.v1alpha1.OneTimeExportStateDetails"; /** Preserves protobuf fields that this SDK version does not recognize. */ [unknownFieldsSymbol]?: Uint8Array | undefined; /** Returns a safe value for JSON logs. */ [customJson]?: () => unknown; /** * Error encountered during export. * Populated only when state is FAILED. * */ error?: ServiceError | undefined; } /** Encodes, decodes, converts, and creates {@link OneTimeExportStateDetails} messages. */ export declare const OneTimeExportStateDetails: MessageFns; //# sourceMappingURL=index.d.ts.map