import _m0 from 'protobufjs/minimal';
/** Port represents a board port that may be used to upload or to monitor a board. */
export interface Port {
    /** Address of the port (e.g., `/dev/ttyACM0`). */
    address: string;
    /** The port label to show on the GUI (e.g. "ttyACM0"). */
    label: string;
    /** Protocol of the port (e.g., `serial`, `network`, ...). */
    protocol: string;
    /** A human friendly description of the protocol (e.g., "Serial Port (USB)"). */
    protocolLabel: string;
    /** A set of properties of the port. */
    properties: {
        [key: string]: string;
    };
    /** The hardware ID (serial number) of the board attached to the port. */
    hardwareId: string;
}
export interface Port_PropertiesEntry {
    key: string;
    value: string;
}
export declare const Port: {
    encode(message: Port, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Port;
    fromJSON(object: any): Port;
    toJSON(message: Port): unknown;
    create(base?: DeepPartial<Port>): Port;
    fromPartial(object: DeepPartial<Port>): Port;
};
export declare const Port_PropertiesEntry: {
    encode(message: Port_PropertiesEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Port_PropertiesEntry;
    fromJSON(object: any): Port_PropertiesEntry;
    toJSON(message: Port_PropertiesEntry): unknown;
    create(base?: DeepPartial<Port_PropertiesEntry>): Port_PropertiesEntry;
    fromPartial(object: DeepPartial<Port_PropertiesEntry>): Port_PropertiesEntry;
};
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
    $case: string;
} ? {
    [K in keyof Omit<T, '$case'>]?: DeepPartial<T[K]>;
} & {
    $case: T['$case'];
} : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
export {};
//# sourceMappingURL=port.d.ts.map