@dgac/nmb2b-client
Version:
EUROCONTROL Network Manager B2B SOAP client
66 lines (65 loc) • 2.82 kB
text/typescript
import { B2BFlavour } from "./constants.mjs";
import { Config } from "./config.mjs";
import { AirspaceService } from "./Airspace/index.mjs";
import { FlightService } from "./Flight/index.mjs";
import { FlowService } from "./Flow/index.mjs";
import { GeneralInformationService } from "./GeneralInformation/index.mjs";
import { SetOptional } from "type-fest";
//#region src/createB2BClient.d.ts
/**
* Main client object grouping all available B2B domains (Airspace, Flight, Flow, GeneralInformation).
*/
interface B2BClient {
Airspace: AirspaceService;
Flight: FlightService;
Flow: FlowService;
GeneralInformation: GeneralInformationService;
}
declare const CONFIG_DEFAULTS: {
flavour: B2BFlavour;
XSD_PATH: string;
hooks: never[];
};
/**
* Options for initializing the B2B client.
*/
type CreateB2BClientOptions = SetOptional<Config, keyof typeof CONFIG_DEFAULTS>;
/**
* Main factory to create a fully initialized B2B client.
* Handles WSDL downloading (if needed) and initializes all sub-services.
*
* @param options - Configuration options for the client. See {@link CreateB2BClientOptions}.
* @returns The initialized {@link B2BClient} instance.
*/
declare function createB2BClient(options: CreateB2BClientOptions): Promise<B2BClient>;
/**
* Factory to create a standalone client for the Airspace domain.
*
* @param options - Configuration options for the client. See {@link CreateB2BClientOptions}.
* @returns The initialized {@link AirspaceService} instance.
*/
declare function createAirspaceClient(options: CreateB2BClientOptions): Promise<AirspaceService>;
/**
* Factory to create a standalone client for the Flight domain.
*
* @param options - Configuration options for the client. See {@link CreateB2BClientOptions}.
* @returns The initialized {@link FlightService} instance.
*/
declare function createFlightClient(options: CreateB2BClientOptions): Promise<FlightService>;
/**
* Factory to create a standalone client for the Flow domain.
*
* @param options - Configuration options for the client. See {@link CreateB2BClientOptions}.
* @returns The initialized {@link FlowService} instance.
*/
declare function createFlowClient(options: CreateB2BClientOptions): Promise<FlowService>;
/**
* Factory to create a standalone client for the GeneralInformation domain.
*
* @param options - Configuration options for the client. See {@link CreateB2BClientOptions}.
* @returns The initialized {@link GeneralInformationService} instance.
*/
declare function createGeneralInformationClient(options: CreateB2BClientOptions): Promise<GeneralInformationService>;
//#endregion
export { B2BClient, CreateB2BClientOptions, createAirspaceClient, createB2BClient, createFlightClient, createFlowClient, createGeneralInformationClient };
//# sourceMappingURL=createB2BClient.d.mts.map