import { Status } from "./DataFrame";
export interface INetworkService {
    GetServiceName(): string;
    EnableDhcpAsync(): Promise<Status>;
    SetStaticIpConfigurationAsync(configuration: INetworkIpv4StaticConfig): Promise<Status>;
    GetIpConfigurationAsync(): Promise<INetworkData | null>;
    RestoreDefaultConfigurationAsync(): Promise<Status>;
    GetDnsServersAsync(): Promise<string[]>;
    AddDnsServerAsync(address: string): Promise<Status>;
}
export interface INetworkIpv4StaticConfig {
    get IpAddress(): string;
    set IpAddress(value: string);
    get SubnetMask(): string;
    set SubnetMask(value: string);
    get DefaultGateway(): string;
    set DefaultGateway(value: string);
    get Broadcast(): string;
    set Broadcast(value: string);
}
export interface INetworkData {
    get Id(): string;
    get Name(): string;
    get Ipv4Address(): string;
    get Ipv4SubnetMask(): string;
    get Ipv4DefaultGateway(): string;
    get Ipv4PublicAddress(): string;
    get MacAddress(): string;
    get IsDhcpEnabled(): boolean;
    get InterfaceType(): NetworkInterfaceType;
    get OperationalStatus(): OperationalStatus;
    get InterfaceSpeed(): number;
    get Statistics(): INetworkStatistics;
}
export interface INetworkStatistics {
    get BytesReceived(): number;
    get BytesSent(): number;
}
export declare enum NetworkInterfaceType {
    Unknown = 1,
    Ethernet = 6,
    TokenRing = 9,
    Fddi = 15,
    BasicIsdn = 20,
    PrimaryIsdn = 21,
    Ppp = 23,
    Loopback = 24,
    Ethernet3Megabit = 26,
    Slip = 28,
    Atm = 37,
    GenericModem = 48,
    FastEthernetT = 62,
    Isdn = 63,
    FastEthernetFx = 69,
    Wireless80211 = 71,
    AsymmetricDsl = 94,
    RateAdaptDsl = 95,
    SymmetricDsl = 96,
    VeryHighSpeedDsl = 97,
    IPOverAtm = 114,
    GigabitEthernet = 117,
    Tunnel = 131,
    MultiRateSymmetricDsl = 143,
    HighPerformanceSerialBus = 144,
    Wman = 237,
    Wwanpp = 243,
    Wwanpp2 = 244
}
export declare enum OperationalStatus {
    Up = 1,
    Down = 2,
    Testing = 3,
    Unknown = 4,
    Dormant = 5,
    NotPresent = 6,
    LowerLayerDown = 7
}
