import type { Firewall } from '../firewalls/types';
import type { Filter, ResourcePage as Page, Params, PriceType } from '../types';
import type { CreateNodeBalancerPayload, NodeBalancer, NodeBalancerStats, NodeBalancerVpcConfig } from './types';
/**
 * getNodeBalancers
 *
 * Returns a paginated list of NodeBalancers on your account.
 */
export declare const getNodeBalancers: (params?: Params, filters?: Filter) => Promise<Page<NodeBalancer>>;
/**
 * getNodeBalancer
 *
 * Returns detailed information about a single NodeBalancer.
 *
 * @param nodeBalancerId { number } The ID of the NodeBalancer to retrieve.
 */
export declare const getNodeBalancer: (nodeBalancerId: number) => Promise<NodeBalancer>;
/**
 * getNodeBalancerBeta
 *
 * Returns detailed information about a single NodeBalancer including type (only available for LKE-E).
 *
 * @param nodeBalancerId { number } The ID of the NodeBalancer to retrieve.
 */
export declare const getNodeBalancerBeta: (nodeBalancerId: number) => Promise<NodeBalancer>;
/**
 * updateNodeBalancer
 *
 * Update an existing NodeBalancer on your account.
 *
 * @param nodeBalancerId { number } The ID of the NodeBalancer to update.
 * @param data { object } The fields to update. Values not included in this
 * parameter will be left unchanged.
 */
export declare const updateNodeBalancer: (nodeBalancerId: number, data: Partial<NodeBalancer>) => Promise<NodeBalancer>;
/**
 * createNodeBalancer
 *
 * Add a NodeBalancer to your account.
 */
export declare const createNodeBalancer: (data: CreateNodeBalancerPayload) => Promise<NodeBalancer>;
/**
 * createNodeBalancerBeta
 *
 * Add a NodeBalancer to your account using the beta API
 */
export declare const createNodeBalancerBeta: (data: CreateNodeBalancerPayload) => Promise<NodeBalancer>;
/**
 * deleteNodeBalancer
 *
 * Remove a NodeBalancer from your account.
 *
 * @param nodeBalancerId { number } The ID of the NodeBalancer to delete.
 */
export declare const deleteNodeBalancer: (nodeBalancerId: number) => Promise<{}>;
/**
 * getNodeBalancerStats
 *
 * Returns detailed statistics about the requested NodeBalancer.
 *
 * @param nodeBalancerId { number } The ID of the NodeBalancer to view stats for.
 */
export declare const getNodeBalancerStats: (nodeBalancerId: number) => Promise<NodeBalancerStats>;
/**
 * getNodeBalancerFirewalls
 *
 * View Firewall information for Firewalls associated with this NodeBalancer
 */
export declare const getNodeBalancerFirewalls: (nodeBalancerId: number, params?: Params, filter?: Filter) => Promise<Page<Firewall>>;
/**
 * getNodeBalancerTypes
 *
 * Return a paginated list of available NodeBalancer types; used for pricing.
 * This endpoint does not require authentication.
 */
export declare const getNodeBalancerTypes: (params?: Params) => Promise<Page<PriceType>>;
/**
 * getNodeBalancerVPCConfigsBeta
 *
 * View all VPC Config information for this NodeBalancer
 *
 * @param nodeBalancerId { number } The ID of the NodeBalancer to view vpc config info for.
 */
export declare const getNodeBalancerVPCConfigsBeta: (nodeBalancerId: number, params?: Params, filter?: Filter) => Promise<Page<NodeBalancerVpcConfig>>;
/**
 * getNodeBalancerVPCConfigBeta
 *
 * View VPC Config information for this NodeBalancer and VPC Config id
 *
 * @param nodeBalancerId { number } The ID of the NodeBalancer to view vpc config info for.
 */
export declare const getNodeBalancerVPCConfigBeta: (nodeBalancerId: number, nbVpcConfigId: number) => Promise<NodeBalancerVpcConfig>;
//# sourceMappingURL=nodebalancers.d.ts.map