import type { Filter, ResourcePage as Page, Params } from '../types';
import type { CreateLinodeInterfacePayload, LinodeInterface, LinodeInterfaceHistory, LinodeInterfaces, LinodeInterfaceSettings, LinodeInterfaceSettingsPayload, ModifyLinodeInterfacePayload, UpgradeInterfaceData, UpgradeInterfacePayload } from './types';
import type { Firewall } from 'src/firewalls/types';
/**
 * createLinodeInterface
 *
 * Adds a new Linode Interface to a Linode.
 *
 * @param linodeId { number } The id of a Linode to receive the new interface.
 */
export declare const createLinodeInterface: (linodeId: number, data: CreateLinodeInterfacePayload) => Promise<LinodeInterface>;
/**
 * getLinodeInterfaces
 *
 * Gets LinodeInterfaces associated with the specified Linode.
 *
 * @param linodeId { number } The id of the Linode to get all Linode Interfaces for.
 */
export declare const getLinodeInterfaces: (linodeId: number) => Promise<LinodeInterfaces>;
/**
 * getLinodeInterfacesHistory
 *
 * Returns paginated list of interface history for specified Linode.
 *
 * @param linodeId { number } The id of a Linode to get the interface history for.
 */
export declare const getLinodeInterfacesHistory: (linodeId: number, params?: Params, filters?: Filter) => Promise<Page<LinodeInterfaceHistory>>;
/**
 * getLinodeInterfacesSettings
 *
 * Returns the interface settings related to the specified Linode.
 *
 * @param linodeId { number } The id of a Linode to get the interface history for.
 */
export declare const getLinodeInterfacesSettings: (linodeId: number) => Promise<LinodeInterfaceSettings>;
/**
 * updateLinodeInterfacesSettings
 *
 * Update the interface settings related to the specified Linode.
 *
 * @param linodeId { number } The id of a Linode to update the interface settings for.
 * @param data { LinodeInterfaceSettingPayload } The payload to update the interface settings with.
 */
export declare const updateLinodeInterfacesSettings: (linodeId: number, data: LinodeInterfaceSettingsPayload) => Promise<LinodeInterfaceSettings>;
/**
 * getLinodeInterface
 *
 * Returns information about a single Linode interface.
 *
 * @param linodeId { number } The id of a Linode the specified Linode Interface is attached to.
 * @param interfaceId { number } The id of the Linode Interface to be returned
 */
export declare const getLinodeInterface: (linodeId: number, interfaceId: number) => Promise<LinodeInterface>;
/**
 * updateLinodeInterface
 *
 * Update specified interface for the specified Linode.
 *
 * @param linodeId { number } The id of a Linode to update the interface history for.
 * @param interfaceId { number } The id of the Interface to update.
 * @param data { ModifyLinodeInterfacePayload } The payload to update the interface with.
 */
export declare const updateLinodeInterface: (linodeId: number, interfaceId: number, data: ModifyLinodeInterfacePayload) => Promise<LinodeInterface>;
/**
 * deleteLinodeInterface
 *
 * Delete a single specified Linode interface.
 *
 * @param linodeId { number } The id of a Linode to update the interface history for.
 * @param interfaceId { number } The id of the Interface to update.
 */
export declare const deleteLinodeInterface: (linodeId: number, interfaceId: number) => Promise<{}>;
/**
 * getLinodeInterfaceFirewalls
 *
 * Returns information about the firewalls for the specified Linode interface.
 *
 * @param linodeId { number } The id of a Linode the specified Linode Interface is attached to.
 * @param interfaceId { number } The id of the Linode Interface to get the firewalls for
 */
export declare const getLinodeInterfaceFirewalls: (linodeId: number, interfaceId: number, params?: Params, filters?: Filter) => Promise<Page<Firewall>>;
/**
 * upgradeToLinodeInterface
 *
 * Upgrades legacy configuration interfaces to new Linode Interfaces.
 * This is a POST endpoint.
 *
 * @param linodeId { number } The id of a Linode to receive the new interface.
 */
export declare const upgradeToLinodeInterface: (linodeId: number, data: UpgradeInterfacePayload) => Promise<UpgradeInterfaceData>;
//# sourceMappingURL=linode-interfaces.d.ts.map