import { Datagram } from "../Datagram/datagram-types.js"; export declare type TBurpastatePersistent = { ssl: boolean; nonBurpahttpHosts: string[] | undefined; processId: string; processType: string; localGateway: string; localHost: string | null; rootGateway: string | null; rootHost: string | null; aliases: { [key: string]: string; }; hosts: { [key: string]: THost; }; log: string[]; }; export declare type THostType = "gateway" | "vagrant"; export declare type THostBase = { type: THostType; nextReqno: number; owned: { [key: string]: THostOwnershipRecord; }; burpaport: string[]; }; export declare type TVagrant = { type: "vagrant"; } & THostBase; export declare type TGateway = { type: "gateway"; upstream: string[]; } & THostBase; export declare type THost = TGateway | TVagrant; export declare type THostOwnershipRecord = { type: THostType; registred: boolean; name: string; secret: string; gateway?: string; }; export declare type RouteAction = { action: "error" | "route" | "inbox" | "connect" | "arrived"; transit?: string; datagram: Datagram; message?: string; destination?: string; }; export declare function newBurpaPersistent(): TBurpastatePersistent; export declare function getLocalGateway(state: TBurpastatePersistent): TGateway; export declare function findLocalHost(state: TBurpastatePersistent, host: string): THost | null;