Interface AttachableBridgeInstance<TParams, TEventData>

interface AttachableBridgeInstance<
    TParams extends BridgeParams = BridgeParams,
    TEventData extends BridgeModuleEventData = BridgeModuleEventData,
> {
    account?: AccountInstance;
    addParent: (mod: ModuleInstance) => void;
    address: Lowercase<string>;
    addressCache?: (
        direction: Direction,
        includePrivate: boolean,
    ) => undefined | AddressToWeakInstanceCache;
    config: TParams["config"];
    connect?: (
        id: string,
        maxDepth?: number,
    ) => Promisable<undefined | Lowercase<string>>;
    disconnect?: (
        id: string,
        maxDepth?: number,
    ) => Promisable<undefined | Lowercase<string>>;
    downResolver: ModuleResolverInstance;
    eventData: TEventData;
    expose: (
        id: string,
        options?: BridgeExposeOptions,
    ) => Promisable<ModuleInstance[]>;
    exposed?: () => Promisable<Lowercase<string>[]>;
    id: string;
    manifest: (
        maxDepth?: number,
        ignoreAddresses?: Lowercase<string>[],
    ) => Promisable<
        | DeepRestrictToStringKeys<
            {
                config: {
                    accountPath?: string;
                    features?: string[];
                    labels?: { [key: string]: undefined
                    | string };
                    language?: string;
                    name: string;
                    os?: string;
                    schema: string;
                };
                description?: string;
                lazyStart?: boolean;
                schema: "network.xyo.module.manifest";
                status?: {
                    address: Lowercase<string>;
                    children?: { [key: Lowercase<string>]: null | string };
                };
            },
        >
        | DeepRestrictToStringKeys<
            {
                config: {
                    accountPath?: string;
                    features?: string[];
                    labels?: { [key: string]: undefined
                    | string };
                    language?: string;
                    name: string;
                    os?: string;
                    schema: string;
                };
                description?: string;
                lazyStart?: boolean;
                schema: "network.xyo.node.manifest";
                status?: {
                    address: Lowercase<string>;
                    children?: { [key: Lowercase<string>]: null | string };
                };
            },
        >,
    >;
    manifestQuery: (
        account: AccountInstance,
        maxDepth?: number,
        ignoreAddresses?: Lowercase<string>[],
    ) => Promisable<
        ModuleQueryResult<
            | DeepRestrictToStringKeys<
                {
                    config: {
                        accountPath?: string;
                        features?: string[];
                        labels?: { [key: string]: undefined
                        | string };
                        language?: string;
                        name: string;
                        os?: string;
                        schema: string;
                    };
                    description?: string;
                    lazyStart?: boolean;
                    schema: "network.xyo.module.manifest";
                    status?: {
                        address: Lowercase<string>;
                        children?: { [key: Lowercase<(...)>]: (...) | (...) };
                    };
                },
            >
            | DeepRestrictToStringKeys<
                {
                    config: {
                        accountPath?: string;
                        features?: string[];
                        labels?: { [key: string]: undefined
                        | string };
                        language?: string;
                        name: string;
                        os?: string;
                        schema: string;
                    };
                    description?: string;
                    lazyStart?: boolean;
                    schema: "network.xyo.node.manifest";
                    status?: {
                        address: Lowercase<string>;
                        children?: { [key: Lowercase<(...)>]: (...) | (...) };
                    };
                },
            >,
            DeepRestrictToStringKeys<
                {
                    details?: | null
                    | string
                    | number
                    | boolean
                    | {
                        [key: string]: | null
                        | string
                        | number
                        | boolean
                        | (
                            { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null)[] | null; }
                        )
                        | (
                            string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null
                        )[];
                    }
                    | (
                        | null
                        | string
                        | number
                        | boolean
                        | {
                            [key: string]: string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null;
                        }
                        | (
                            (string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null)[]
                        )
                    )[];
                    message?: string;
                    name?: string;
                    query?: Lowercase<string>;
                    schema: "network.xyo.error.module";
                },
            >,
            BoundWitness,
        >,
    >;
    modName?: string;
    moduleAddress: () => Promisable<
        (
            | DeepRestrictToStringKeys<
                { address: Lowercase<string>; schema: "network.xyo.address" },
            >
            | DeepRestrictToStringKeys<
                {
                    address: Lowercase<string>;
                    previousHash?: string;
                    schema: "network.xyo.address.hash.previous";
                },
            >
        )[],
    >;
    params: TParams;
    parents: () => Promisable<ModuleInstance[]>;
    pipeline?: "one-to-one" | "one-to-many" | "many-to-one" | "many-to-many";
    previousHash: () => Promisable<undefined | string>;
    priority: ObjectResolverPriority;
    privateChildren: () => Promisable<ModuleInstance[]>;
    privateResolver: ModuleResolverInstance;
    publicChildren: () => Promisable<ModuleInstance[]>;
    queries: string[];
    query: <
        T extends UnsignedQueryBoundWitness = UnsignedQueryBoundWitness,
        TConf extends
            DeepRestrictToStringKeys<
                {
                    allowedQueries?: string[];
                    archiving?: { archivists?: string[]; queries?: string[] };
                    archivist?: string;
                    consoleLogger?: LogLevel;
                    labels?: { [key: string]: undefined | string };
                    name?: string;
                    paging?: { [key: string]: { size?: number } };
                    retry?: { backoff?: number; interval?: number; retries?: number };
                    schema: "network.xyo.module.config";
                    security?: {
                        allowAnonymous?: boolean;
                        allowed?: {
                            [key: string]: (Lowercase<string> | Lowercase<(...)>[])[];
                        };
                        disallowed?: { [key: string]: Lowercase<string>[] };
                    };
                    sign?: boolean;
                    storeQueries?: boolean;
                    timestamp?: boolean;
                },
            > = DeepRestrictToStringKeys<
            {
                allowedQueries?: string[];
                archiving?: { archivists?: string[]; queries?: string[] };
                archivist?: string;
                consoleLogger?: LogLevel;
                labels?: { [key: string]: undefined | string };
                name?: string;
                paging?: { [key: string]: { size?: number } };
                retry?: { backoff?: number; interval?: number; retries?: number };
                schema: "network.xyo.module.config";
                security?: {
                    allowAnonymous?: boolean;
                    allowed?: { [key: string]: (Lowercase<string> | Lowercase<(...)>[])[] };
                    disallowed?: { [key: string]: Lowercase<string>[] };
                };
                sign?: boolean;
                storeQueries?: boolean;
                timestamp?: boolean;
            },
        >,
    >(
        query: T,
        payloads?: DeepRestrictToStringKeys<{ schema: string }>[],
        queryConfig?: TConf,
    ) => Promisable<
        ModuleQueryResult<
            DeepRestrictToStringKeys<{ schema: string }>,
            DeepRestrictToStringKeys<
                {
                    details?: | null
                    | string
                    | number
                    | boolean
                    | {
                        [key: string]: | null
                        | string
                        | number
                        | boolean
                        | (
                            { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null)[] | null; }
                        )
                        | (
                            string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null
                        )[];
                    }
                    | (
                        | null
                        | string
                        | number
                        | boolean
                        | {
                            [key: string]: string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null;
                        }
                        | (
                            (string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null)[]
                        )
                    )[];
                    message?: string;
                    name?: string;
                    query?: Lowercase<string>;
                    schema: "network.xyo.error.module";
                },
            >,
            BoundWitness,
        >,
    >;
    queryable: <
        T extends UnsignedQueryBoundWitness = UnsignedQueryBoundWitness,
        TConf extends
            DeepRestrictToStringKeys<
                {
                    allowedQueries?: string[];
                    archiving?: { archivists?: string[]; queries?: string[] };
                    archivist?: string;
                    consoleLogger?: LogLevel;
                    labels?: { [key: string]: undefined | string };
                    name?: string;
                    paging?: { [key: string]: { size?: number } };
                    retry?: { backoff?: number; interval?: number; retries?: number };
                    schema: "network.xyo.module.config";
                    security?: {
                        allowAnonymous?: boolean;
                        allowed?: {
                            [key: string]: (Lowercase<string> | Lowercase<(...)>[])[];
                        };
                        disallowed?: { [key: string]: Lowercase<string>[] };
                    };
                    sign?: boolean;
                    storeQueries?: boolean;
                    timestamp?: boolean;
                },
            > = DeepRestrictToStringKeys<
            {
                allowedQueries?: string[];
                archiving?: { archivists?: string[]; queries?: string[] };
                archivist?: string;
                consoleLogger?: LogLevel;
                labels?: { [key: string]: undefined | string };
                name?: string;
                paging?: { [key: string]: { size?: number } };
                retry?: { backoff?: number; interval?: number; retries?: number };
                schema: "network.xyo.module.config";
                security?: {
                    allowAnonymous?: boolean;
                    allowed?: { [key: string]: (Lowercase<string> | Lowercase<(...)>[])[] };
                    disallowed?: { [key: string]: Lowercase<string>[] };
                };
                sign?: boolean;
                storeQueries?: boolean;
                timestamp?: boolean;
            },
        >,
    >(
        query: T,
        payloads?: DeepRestrictToStringKeys<{ schema: string }>[],
        queryConfig?: TConf,
    ) => Promisable<boolean>;
    removeParent: (address: Lowercase<string>) => void;
    siblings: () => Promisable<ModuleInstance[]>;
    start?: () => Promisable<boolean>;
    state: () => Promisable<DeepRestrictToStringKeys<{ schema: string }>[]>;
    stateQuery: (
        account: AccountInstance,
    ) => Promisable<
        ModuleQueryResult<
            DeepRestrictToStringKeys<{ schema: string }>,
            DeepRestrictToStringKeys<
                {
                    details?: | null
                    | string
                    | number
                    | boolean
                    | {
                        [key: string]: | null
                        | string
                        | number
                        | boolean
                        | (
                            { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null)[] | null; }
                        )
                        | (
                            string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null
                        )[];
                    }
                    | (
                        | null
                        | string
                        | number
                        | boolean
                        | {
                            [key: string]: string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null;
                        }
                        | (
                            (string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null)[]
                        )
                    )[];
                    message?: string;
                    name?: string;
                    query?: Lowercase<string>;
                    schema: "network.xyo.error.module";
                },
            >,
            BoundWitness,
        >,
    >;
    status: ModuleStatus;
    stop?: () => Promisable<boolean>;
    unexpose?: (
        id: string,
        options?: BridgeUnexposeOptions,
    ) => Promisable<Lowercase<string>[]>;
    upResolver: ModuleResolverInstance;
    clearListeners(eventNames: keyof TEventData | (keyof TEventData)[]): void;
    emit<TEventName extends string | number | symbol>(
        eventName: TEventName,
        eventArgs: TEventData[TEventName],
    ): Promise<void>;
    emitSerial<TEventName extends string | number | symbol>(
        eventName: TEventName,
        eventArgs: TEventData[TEventName],
    ): Promise<void>;
    listenerCount(eventNames: keyof TEventData | (keyof TEventData)[]): number;
    off<TEventName extends string | number | symbol>(
        eventNames: TEventName | TEventName[],
        listener: EventListener<TEventData[TEventName]>,
    ): void;
    offAny(listener: Promise<void> | EventAnyListener<EventArgs>): void;
    on<TEventName extends string | number | symbol>(
        eventNames: TEventName | TEventName[],
        listener: EventListener<TEventData[TEventName]>,
    ): EventUnsubscribeFunction;
    onAny(listener: EventAnyListener<EventArgs>): EventUnsubscribeFunction;
    once<TEventName extends string | number | symbol>(
        eventName: TEventName,
        listener: EventListener<TEventData[TEventName]>,
    ): EventUnsubscribeFunction;
    resolve<T extends ModuleInstance = ModuleInstance>(): Promisable<
        undefined
        | T,
    >;
    resolve<T extends ModuleInstance = ModuleInstance>(
        all: "*",
        options?: ObjectFilterOptions<T>,
    ): Promisable<T[]>;
    resolve<T extends ModuleInstance = ModuleInstance>(
        id: string,
        options?: ObjectFilterOptions<T>,
    ): Promisable<undefined | T>;
    resolve<T extends ModuleInstance = ModuleInstance>(
        filter: ObjectFilter<T>,
        options?: ObjectFilterOptions<T>,
    ): Promisable<T[]>;
    resolve<T extends ModuleInstance = ModuleInstance>(
        filter?: ObjectFilter<T>,
        options?: ObjectFilterOptions<T>,
    ): Promisable<T[]>;
    resolve<T extends ModuleInstance = ModuleInstance>(
        idOrFilter?: string | ObjectFilter<T>,
        options?: ObjectFilterOptions<T>,
    ): Promisable<undefined | T | T[]>;
    resolvePrivate<T extends ModuleInstance = ModuleInstance>(
        all: "*",
        options?: ObjectFilterOptions<T>,
    ): Promise<T[]>;
    resolvePrivate<T extends ModuleInstance = ModuleInstance>(
        id: string,
        options?: ObjectFilterOptions<T>,
    ): Promise<undefined | T>;
    resolvePrivate<T extends ModuleInstance = ModuleInstance>(
        id: string,
        options?: ObjectFilterOptions<T>,
    ): Promise<undefined | T | T[]>;
}

Type Parameters

Hierarchy (View Summary)

Implemented by

Properties

account?: AccountInstance
addParent: (mod: ModuleInstance) => void
address: Lowercase<string>
addressCache?: (
    direction: Direction,
    includePrivate: boolean,
) => undefined | AddressToWeakInstanceCache
config: TParams["config"]
connect?: (
    id: string,
    maxDepth?: number,
) => Promisable<undefined | Lowercase<string>>
disconnect?: (
    id: string,
    maxDepth?: number,
) => Promisable<undefined | Lowercase<string>>
eventData: TEventData
expose: (
    id: string,
    options?: BridgeExposeOptions,
) => Promisable<ModuleInstance[]>
exposed?: () => Promisable<Lowercase<string>[]>
id: string
manifest: (
    maxDepth?: number,
    ignoreAddresses?: Lowercase<string>[],
) => Promisable<
    | DeepRestrictToStringKeys<
        {
            config: {
                accountPath?: string;
                features?: string[];
                labels?: { [key: string]: undefined
                | string };
                language?: string;
                name: string;
                os?: string;
                schema: string;
            };
            description?: string;
            lazyStart?: boolean;
            schema: "network.xyo.module.manifest";
            status?: {
                address: Lowercase<string>;
                children?: { [key: Lowercase<string>]: null | string };
            };
        },
    >
    | DeepRestrictToStringKeys<
        {
            config: {
                accountPath?: string;
                features?: string[];
                labels?: { [key: string]: undefined
                | string };
                language?: string;
                name: string;
                os?: string;
                schema: string;
            };
            description?: string;
            lazyStart?: boolean;
            schema: "network.xyo.node.manifest";
            status?: {
                address: Lowercase<string>;
                children?: { [key: Lowercase<string>]: null | string };
            };
        },
    >,
>
manifestQuery: (
    account: AccountInstance,
    maxDepth?: number,
    ignoreAddresses?: Lowercase<string>[],
) => Promisable<
    ModuleQueryResult<
        | DeepRestrictToStringKeys<
            {
                config: {
                    accountPath?: string;
                    features?: string[];
                    labels?: { [key: string]: undefined
                    | string };
                    language?: string;
                    name: string;
                    os?: string;
                    schema: string;
                };
                description?: string;
                lazyStart?: boolean;
                schema: "network.xyo.module.manifest";
                status?: {
                    address: Lowercase<string>;
                    children?: { [key: Lowercase<(...)>]: (...) | (...) };
                };
            },
        >
        | DeepRestrictToStringKeys<
            {
                config: {
                    accountPath?: string;
                    features?: string[];
                    labels?: { [key: string]: undefined
                    | string };
                    language?: string;
                    name: string;
                    os?: string;
                    schema: string;
                };
                description?: string;
                lazyStart?: boolean;
                schema: "network.xyo.node.manifest";
                status?: {
                    address: Lowercase<string>;
                    children?: { [key: Lowercase<(...)>]: (...) | (...) };
                };
            },
        >,
        DeepRestrictToStringKeys<
            {
                details?: | null
                | string
                | number
                | boolean
                | {
                    [key: string]: | null
                    | string
                    | number
                    | boolean
                    | (
                        { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null)[] | null; }
                    )
                    | (
                        string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null
                    )[];
                }
                | (
                    | null
                    | string
                    | number
                    | boolean
                    | {
                        [key: string]: string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null;
                    }
                    | (
                        (string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null)[]
                    )
                )[];
                message?: string;
                name?: string;
                query?: Lowercase<string>;
                schema: "network.xyo.error.module";
            },
        >,
        BoundWitness,
    >,
>
modName?: string
moduleAddress: () => Promisable<
    (
        | DeepRestrictToStringKeys<
            { address: Lowercase<string>; schema: "network.xyo.address" },
        >
        | DeepRestrictToStringKeys<
            {
                address: Lowercase<string>;
                previousHash?: string;
                schema: "network.xyo.address.hash.previous";
            },
        >
    )[],
>
params: TParams
parents: () => Promisable<ModuleInstance[]>
pipeline?: "one-to-one" | "one-to-many" | "many-to-one" | "many-to-many"
previousHash: () => Promisable<undefined | string>
privateChildren: () => Promisable<ModuleInstance[]>
privateResolver: ModuleResolverInstance
publicChildren: () => Promisable<ModuleInstance[]>
queries: string[]
query: <
    T extends UnsignedQueryBoundWitness = UnsignedQueryBoundWitness,
    TConf extends
        DeepRestrictToStringKeys<
            {
                allowedQueries?: string[];
                archiving?: { archivists?: string[]; queries?: string[] };
                archivist?: string;
                consoleLogger?: LogLevel;
                labels?: { [key: string]: undefined | string };
                name?: string;
                paging?: { [key: string]: { size?: number } };
                retry?: { backoff?: number; interval?: number; retries?: number };
                schema: "network.xyo.module.config";
                security?: {
                    allowAnonymous?: boolean;
                    allowed?: { [key: string]: (Lowercase<string> | Lowercase<(...)>[])[] };
                    disallowed?: { [key: string]: Lowercase<string>[] };
                };
                sign?: boolean;
                storeQueries?: boolean;
                timestamp?: boolean;
            },
        > = DeepRestrictToStringKeys<
        {
            allowedQueries?: string[];
            archiving?: { archivists?: string[]; queries?: string[] };
            archivist?: string;
            consoleLogger?: LogLevel;
            labels?: { [key: string]: undefined | string };
            name?: string;
            paging?: { [key: string]: { size?: number } };
            retry?: { backoff?: number; interval?: number; retries?: number };
            schema: "network.xyo.module.config";
            security?: {
                allowAnonymous?: boolean;
                allowed?: { [key: string]: (Lowercase<string> | Lowercase<(...)>[])[] };
                disallowed?: { [key: string]: Lowercase<string>[] };
            };
            sign?: boolean;
            storeQueries?: boolean;
            timestamp?: boolean;
        },
    >,
>(
    query: T,
    payloads?: DeepRestrictToStringKeys<{ schema: string }>[],
    queryConfig?: TConf,
) => Promisable<
    ModuleQueryResult<
        DeepRestrictToStringKeys<{ schema: string }>,
        DeepRestrictToStringKeys<
            {
                details?: | null
                | string
                | number
                | boolean
                | {
                    [key: string]: | null
                    | string
                    | number
                    | boolean
                    | (
                        { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null)[] | null; }
                    )
                    | (
                        string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null
                    )[];
                }
                | (
                    | null
                    | string
                    | number
                    | boolean
                    | {
                        [key: string]: string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null;
                    }
                    | (
                        (string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null)[]
                    )
                )[];
                message?: string;
                name?: string;
                query?: Lowercase<string>;
                schema: "network.xyo.error.module";
            },
        >,
        BoundWitness,
    >,
>
queryable: <
    T extends UnsignedQueryBoundWitness = UnsignedQueryBoundWitness,
    TConf extends
        DeepRestrictToStringKeys<
            {
                allowedQueries?: string[];
                archiving?: { archivists?: string[]; queries?: string[] };
                archivist?: string;
                consoleLogger?: LogLevel;
                labels?: { [key: string]: undefined | string };
                name?: string;
                paging?: { [key: string]: { size?: number } };
                retry?: { backoff?: number; interval?: number; retries?: number };
                schema: "network.xyo.module.config";
                security?: {
                    allowAnonymous?: boolean;
                    allowed?: { [key: string]: (Lowercase<string> | Lowercase<(...)>[])[] };
                    disallowed?: { [key: string]: Lowercase<string>[] };
                };
                sign?: boolean;
                storeQueries?: boolean;
                timestamp?: boolean;
            },
        > = DeepRestrictToStringKeys<
        {
            allowedQueries?: string[];
            archiving?: { archivists?: string[]; queries?: string[] };
            archivist?: string;
            consoleLogger?: LogLevel;
            labels?: { [key: string]: undefined | string };
            name?: string;
            paging?: { [key: string]: { size?: number } };
            retry?: { backoff?: number; interval?: number; retries?: number };
            schema: "network.xyo.module.config";
            security?: {
                allowAnonymous?: boolean;
                allowed?: { [key: string]: (Lowercase<string> | Lowercase<(...)>[])[] };
                disallowed?: { [key: string]: Lowercase<string>[] };
            };
            sign?: boolean;
            storeQueries?: boolean;
            timestamp?: boolean;
        },
    >,
>(
    query: T,
    payloads?: DeepRestrictToStringKeys<{ schema: string }>[],
    queryConfig?: TConf,
) => Promisable<boolean>
removeParent: (address: Lowercase<string>) => void
siblings: () => Promisable<ModuleInstance[]>
start?: () => Promisable<boolean>
state: () => Promisable<DeepRestrictToStringKeys<{ schema: string }>[]>
stateQuery: (
    account: AccountInstance,
) => Promisable<
    ModuleQueryResult<
        DeepRestrictToStringKeys<{ schema: string }>,
        DeepRestrictToStringKeys<
            {
                details?: | null
                | string
                | number
                | boolean
                | {
                    [key: string]: | null
                    | string
                    | number
                    | boolean
                    | (
                        { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null)[] | null; }
                    )
                    | (
                        string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null
                    )[];
                }
                | (
                    | null
                    | string
                    | number
                    | boolean
                    | {
                        [key: string]: string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null;
                    }
                    | (
                        (string | number | boolean | { [x: string]: string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | number | boolean | ... | (string | ... 4 more ... | null)[] | null)[] | null)[] | null)[] | null; } | (string | ... 4 more ... | null)[] | null)[]
                    )
                )[];
                message?: string;
                name?: string;
                query?: Lowercase<string>;
                schema: "network.xyo.error.module";
            },
        >,
        BoundWitness,
    >,
>
status: ModuleStatus
stop?: () => Promisable<boolean>
unexpose?: (
    id: string,
    options?: BridgeUnexposeOptions,
) => Promisable<Lowercase<string>[]>

Methods