interface CustomSentinelInstance< TParams extends SentinelParams = SentinelParams, TEvents extends SentinelModuleEventData<SentinelInstance<TParams>> = SentinelModuleEventData< SentinelInstance<TParams>, >,> { account?: AccountInstance; addParent: (mod: ModuleInstance) => void; address: Lowercase<string>; addressCache?: ( direction: Direction, includePrivate: boolean, ) => undefined | AddressToWeakInstanceCache; config: TParams["config"]; eventData: TEvents; 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[]>; 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; report: ( payloads?: DeepRestrictToStringKeys<{ schema: string }>[], ) => Promisable<DeepRestrictToStringKeys<{ schema: string }>[]>; reportQuery: ( payloads?: DeepRestrictToStringKeys<{ schema: string }>[], account?: AccountInstance, ) => Promisable< ModuleQueryResult<DeepRestrictToStringKeys<{ schema: string }>>, >; 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>; clearListeners(eventNames: keyof TEvents | (
keyof TEvents)
[]): void; emit<TEventName extends string | number | symbol>( eventName: TEventName, eventArgs: TEvents[TEventName], ): Promise<void>; emitSerial<TEventName extends string | number | symbol>( eventName: TEventName, eventArgs: TEvents[TEventName], ): Promise<void>; listenerCount(eventNames: keyof TEvents | (
keyof TEvents)
[]): number; off<TEventName extends string | number | symbol>( eventNames: TEventName | TEventName[], listener: EventListener<TEvents[TEventName]>, ): void; offAny(listener: Promise<void> | EventAnyListener<EventArgs>): void; on<TEventName extends string | number | symbol>( eventNames: TEventName | TEventName[], listener: EventListener<TEvents[TEventName]>, ): EventUnsubscribeFunction; onAny(listener: EventAnyListener<EventArgs>): EventUnsubscribeFunction; once<TEventName extends string | number | symbol>( eventName: TEventName, listener: EventListener<TEvents[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[]>;}