import _m0 from "protobufjs/minimal"; import { Observable } from "rxjs"; import { FileID, NodeAddress } from "./basic_types"; export declare const protobufPackage = "com.hedera.mirror.api.proto"; /** Request object to query an address book for its list of nodes */ export interface AddressBookQuery { /** The ID of the address book file on the network. Can be either 0.0.101 or 0.0.102. */ fileId: FileID | undefined; /** The maximum number of node addresses to receive before stopping. If not set or set to zero it will return all node addresses in the database. */ limit: number; } export declare const AddressBookQuery: { encode(message: AddressBookQuery, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): AddressBookQuery; fromJSON(object: any): AddressBookQuery; toJSON(message: AddressBookQuery): unknown; create(base?: DeepPartial): AddressBookQuery; fromPartial(object: DeepPartial): AddressBookQuery; }; /** Provides cross network APIs like address book queries */ export interface NetworkService { /** * Query for an address book and return its nodes. The nodes are returned in ascending order by node ID. The * response is not guaranteed to be a byte-for-byte equivalent to the NodeAddress in the Hedera file on * the network since it is reconstructed from a normalized database table. */ getNodes(request: AddressBookQuery): Observable; } export declare const NetworkServiceServiceName = "com.hedera.mirror.api.proto.NetworkService"; export declare class NetworkServiceClientImpl implements NetworkService { private readonly rpc; private readonly service; constructor(rpc: Rpc, opts?: { service?: string; }); getNodes(request: AddressBookQuery): Observable; } interface Rpc { request(service: string, method: string, data: Uint8Array): Promise; clientStreamingRequest(service: string, method: string, data: Observable): Promise; serverStreamingRequest(service: string, method: string, data: Uint8Array): Observable; bidirectionalStreamingRequest(service: string, method: string, data: Observable): Observable; } type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends { $case: string; } ? { [K in keyof Omit]?: DeepPartial; } & { $case: T["$case"]; } : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; export {}; //# sourceMappingURL=mirror_network_service.d.ts.map