# Class AbstractModule<TParams, TEventData>`Abstract`

#### Type Parameters

- #### TParams extends ModuleParams = ModuleParams

- #### TEventData extends ModuleEventData = ModuleEventData

#### Hierarchy

- BaseEmitter<TParams, TEventData>
  - AbstractModule
    - ArchivingModule
    - AbstractArchivist
    - AbstractBridge
    - AbstractNode
    - AbstractWitness

#### Implements

- Module<TParams, TEventData>

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:12

#####
Index

### Constructors

constructor

### Properties

_baseModuleQueryAccountPaths
_queryAccounts
_started
account
commitArchivist
downResolver
eventData
getArchivist
moduleConfigQueryValidator
params
readArchivist
supportedQueryValidator
upResolver
writeArchivist
configSchema
defaultLogger?

### Accessors

_queryAccountPaths
address
allowAnonymous
config
logger
queries
queryAccountPaths
queryAccounts

### Methods

bindHashes
bindHashesInternal
bindQuery
bindQueryInternal
bindQueryResult
clearListeners
discover
emit
emitSerial
initializeQueryAccounts
listenerCount
loadAccount
moduleAccountQuery
off
offAny
on
onAny
once
query
queryHandler
queryable
resolve
start
started
stop
subscribe
validateConfig
create
factory

## Constructors

### constructor

- new AbstractModule<TParams, TEventData>(params): AbstractModule<TParams, TEventData>

- #### Type Parameters

  - #### TParams extends ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined> = ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>

  - #### TEventData extends ModuleEventData<TEventData> = ModuleEventData

  #### Parameters

  - ##### params: TParams

  #### Returns AbstractModule<TParams, TEventData>

  Overrides BaseEmitter.constructor

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:22

## Properties

### `Protected` `Readonly` _baseModuleQueryAccountPaths

_baseModuleQueryAccountPaths: Record<"network.xyo.query.module.discover" | "network.xyo.query.module.account" | "network.xyo.query.module.subscribe", string>

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:16

### `Protected` `Readonly` _queryAccounts

_queryAccounts: Record<"network.xyo.query.module.discover" | "network.xyo.query.module.account" | "network.xyo.query.module.subscribe", undefined | AccountInstance>

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:17

### `Protected` _started

_started: boolean

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:18

### `Protected` `Readonly` account

account: AccountInstance

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:19

### `Protected` commitArchivist

commitArchivist: (() => Promise<undefined | ArchivistModule<ArchivistParams<SchemaFields & PayloadFields & {
archivist?: ArchivistModuleConfig;
name?: string;
paging?: Record<string, {
size?: number;
}>;
schema: string;
security?: {
allowAnonymous?: boolean;
allowed?: Record<string, (string | CosigningAddressSet)[]>;
disallowed?: Record<string, string[]>;
};
storeQueries?: boolean;
} & Omit<Omit<SchemaFields & PayloadFields & {
archivist?: ArchivistModuleConfig;
name?: string;
paging?: Record<string, {
size?: number;
}>;
schema: "network.xyo.archivist.config";
security?: {
allowAnonymous?: boolean;
allowed?: Record<string, (string | CosigningAddressSet)[]>;
disallowed?: Record<string, string[]>;
};
storeQueries?: boolean;
} & Omit<{
parents?: ArchivistParents;
schema: "network.xyo.archivist.config";
storeParentReads?: boolean;
} & Omit<undefined, "schema">, "schema">, "schema"> & {
schema: string;
}, "schema">, undefined>, ArchivistModuleEventData>>)

#### Type declaration

- - (): Promise<undefined | ArchivistModule<ArchivistParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.archivist.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<{
    parents?: ArchivistParents;
    schema: "network.xyo.archivist.config";
    storeParentReads?: boolean;
    } & Omit<undefined, "schema">, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>, ArchivistModuleEventData>>

  - #### Returns Promise<undefined | ArchivistModule<ArchivistParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.archivist.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<{
    parents?: ArchivistParents;
    schema: "network.xyo.archivist.config";
    storeParentReads?: boolean;
    } & Omit<undefined, "schema">, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>, ArchivistModuleEventData>>

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:44

### `Readonly` downResolver

downResolver: CompositeModuleResolver

Implementation of Module.downResolver

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:14

### eventData

eventData: TEventData

Implementation of Module.eventData

Inherited from BaseEmitter.eventData

- Defined in modules/packages/module/packages/abstract/dist/types/BaseEmitter.d.ts:4

### `Private` getArchivist

getArchivist: any

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:149

### `Protected` `Readonly` moduleConfigQueryValidator

moduleConfigQueryValidator: Queryable<SchemaFields & PayloadFields & BoundWitnessFields & {
query: string;
resultSet?: string;
schema: "network.xyo.boundwitness";
}>

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:20

### `Readonly` params

params: TParams

Implementation of Module.params

Inherited from BaseEmitter.params

- Defined in protocol/packages/core/dist/types/lib/Base.d.ts:20

### `Protected` readArchivist

readArchivist: (() => Promise<undefined | ArchivistModule<ArchivistParams<SchemaFields & PayloadFields & {
archivist?: ArchivistModuleConfig;
name?: string;
paging?: Record<string, {
size?: number;
}>;
schema: string;
security?: {
allowAnonymous?: boolean;
allowed?: Record<string, (string | CosigningAddressSet)[]>;
disallowed?: Record<string, string[]>;
};
storeQueries?: boolean;
} & Omit<Omit<SchemaFields & PayloadFields & {
archivist?: ArchivistModuleConfig;
name?: string;
paging?: Record<string, {
size?: number;
}>;
schema: "network.xyo.archivist.config";
security?: {
allowAnonymous?: boolean;
allowed?: Record<string, (string | CosigningAddressSet)[]>;
disallowed?: Record<string, string[]>;
};
storeQueries?: boolean;
} & Omit<{
parents?: ArchivistParents;
schema: "network.xyo.archivist.config";
storeParentReads?: boolean;
} & Omit<undefined, "schema">, "schema">, "schema"> & {
schema: string;
}, "schema">, undefined>, ArchivistModuleEventData>>)

#### Type declaration

- - (): Promise<undefined | ArchivistModule<ArchivistParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.archivist.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<{
    parents?: ArchivistParents;
    schema: "network.xyo.archivist.config";
    storeParentReads?: boolean;
    } & Omit<undefined, "schema">, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>, ArchivistModuleEventData>>

  - #### Returns Promise<undefined | ArchivistModule<ArchivistParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.archivist.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<{
    parents?: ArchivistParents;
    schema: "network.xyo.archivist.config";
    storeParentReads?: boolean;
    } & Omit<undefined, "schema">, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>, ArchivistModuleEventData>>

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:80

### `Protected` `Readonly` supportedQueryValidator

supportedQueryValidator: Queryable<SchemaFields & PayloadFields & BoundWitnessFields & {
query: string;
resultSet?: string;
schema: "network.xyo.boundwitness";
}>

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:21

### `Readonly` upResolver

upResolver: CompositeModuleResolver

Implementation of Module.upResolver

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:15

### `Protected` writeArchivist

writeArchivist: (() => Promise<undefined | ArchivistModule<ArchivistParams<SchemaFields & PayloadFields & {
archivist?: ArchivistModuleConfig;
name?: string;
paging?: Record<string, {
size?: number;
}>;
schema: string;
security?: {
allowAnonymous?: boolean;
allowed?: Record<string, (string | CosigningAddressSet)[]>;
disallowed?: Record<string, string[]>;
};
storeQueries?: boolean;
} & Omit<Omit<SchemaFields & PayloadFields & {
archivist?: ArchivistModuleConfig;
name?: string;
paging?: Record<string, {
size?: number;
}>;
schema: "network.xyo.archivist.config";
security?: {
allowAnonymous?: boolean;
allowed?: Record<string, (string | CosigningAddressSet)[]>;
disallowed?: Record<string, string[]>;
};
storeQueries?: boolean;
} & Omit<{
parents?: ArchivistParents;
schema: "network.xyo.archivist.config";
storeParentReads?: boolean;
} & Omit<undefined, "schema">, "schema">, "schema"> & {
schema: string;
}, "schema">, undefined>, ArchivistModuleEventData>>)

#### Type declaration

- - (): Promise<undefined | ArchivistModule<ArchivistParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.archivist.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<{
    parents?: ArchivistParents;
    schema: "network.xyo.archivist.config";
    storeParentReads?: boolean;
    } & Omit<undefined, "schema">, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>, ArchivistModuleEventData>>

  - #### Returns Promise<undefined | ArchivistModule<ArchivistParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.archivist.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<{
    parents?: ArchivistParents;
    schema: "network.xyo.archivist.config";
    storeParentReads?: boolean;
    } & Omit<undefined, "schema">, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>, ArchivistModuleEventData>>

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:116

### `Static` configSchema

configSchema: string

- Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:13

### `Static` `Optional` defaultLogger

defaultLogger?: Logger

Inherited from BaseEmitter.defaultLogger

- Defined in protocol/packages/core/dist/types/lib/Base.d.ts:21

## Accessors

### `Protected` `Abstract` _queryAccountPaths

- get _queryAccountPaths(): Record<string, string>

- #### Returns Record<string, string>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:29

### address

- get address(): string

- #### Returns string

  Implementation of Module.address

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:23

### allowAnonymous

- get allowAnonymous(): boolean

- #### Returns boolean

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:24

### config

- get config(): TParams["config"]

- #### Returns TParams["config"]

  Implementation of Module.config

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:25

### `Protected` logger

- get logger(): Logger | Console

- #### Returns Logger | Console

  Inherited from BaseEmitter.logger

  - Defined in protocol/packages/core/dist/types/lib/Base.d.ts:23

### queries

- get queries(): string[]

- #### Returns string[]

  Implementation of Module.queries

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:26

### queryAccountPaths

- get queryAccountPaths(): Readonly<Record<string, undefined | string>>

- #### Returns Readonly<Record<string, undefined | string>>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:27

### queryAccounts

- get queryAccounts(): Readonly<Record<string, undefined | AccountInstance>>

- #### Returns Readonly<Record<string, undefined | AccountInstance>>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:28

## Methods

### `Protected` bindHashes

- bindHashes(hashes, schema, account?): PromiseEx<unknown, AccountInstance>

- #### Parameters

  - ##### hashes: string[]

  - ##### schema: string[]

  - ##### `Optional` account: AccountInstance

  #### Returns PromiseEx<unknown, AccountInstance>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:39

### `Protected` bindHashesInternal

- bindHashesInternal(hashes, schema, account?): Promise<SchemaFields & PayloadFields & BoundWitnessFields & {
  schema: "network.xyo.boundwitness";
  }>

- #### Parameters

  - ##### hashes: string[]

  - ##### schema: string[]

  - ##### `Optional` account: AccountInstance

  #### Returns Promise<SchemaFields & PayloadFields & BoundWitnessFields & {
  schema: "network.xyo.boundwitness";
  }>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:40

### `Protected` bindQuery

- bindQuery<T>(query, payloads?, account?): PromiseEx<[SchemaFields & PayloadFields & BoundWitnessFields & {
  query: string;
  resultSet?: string;
  schema: "network.xyo.boundwitness";
  }, (SchemaFields & PayloadFields & {
  schema: string;
  })[]], AccountInstance>

- #### Type Parameters

  - #### T extends SchemaFields & PayloadFields & QueryFields & {
    schema: string;
    } | PayloadWrapper<SchemaFields & PayloadFields & QueryFields & {
    schema: string;
    }>

  #### Parameters

  - ##### query: T

  - ##### `Optional` payloads: (SchemaFields & PayloadFields & {
    schema: string;
    })[]

  - ##### `Optional` account: AccountInstance

  #### Returns PromiseEx<[SchemaFields & PayloadFields & BoundWitnessFields & {
  query: string;
  resultSet?: string;
  schema: "network.xyo.boundwitness";
  }, (SchemaFields & PayloadFields & {
  schema: string;
  })[]], AccountInstance>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:41

### `Protected` bindQueryInternal

- bindQueryInternal<T>(query, payloads?, account?): Promise<[SchemaFields & PayloadFields & BoundWitnessFields & {
  query: string;
  resultSet?: string;
  schema: "network.xyo.boundwitness";
  }, (SchemaFields & PayloadFields & {
  schema: string;
  })[]]>

- #### Type Parameters

  - #### T extends SchemaFields & PayloadFields & QueryFields & {
    schema: string;
    } | PayloadWrapper<SchemaFields & PayloadFields & QueryFields & {
    schema: string;
    }>

  #### Parameters

  - ##### query: T

  - ##### `Optional` payloads: (SchemaFields & PayloadFields & {
    schema: string;
    })[]

  - ##### `Optional` account: AccountInstance

  #### Returns Promise<[SchemaFields & PayloadFields & BoundWitnessFields & {
  query: string;
  resultSet?: string;
  schema: "network.xyo.boundwitness";
  }, (SchemaFields & PayloadFields & {
  schema: string;
  })[]]>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:42

### `Protected` bindQueryResult

- bindQueryResult<T>(query, payloads, additionalWitnesses?): PromiseEx<ModuleQueryResult<SchemaFields & PayloadFields & {
  schema: string;
  }>, AccountInstance[]>

- #### Type Parameters

  - #### T extends SchemaFields & PayloadFields & QueryFields & {
    schema: string;
    } | PayloadWrapper<SchemaFields & PayloadFields & QueryFields & {
    schema: string;
    }>

  #### Parameters

  - ##### query: T

  - ##### payloads: (SchemaFields & PayloadFields & {
    schema: string;
    })[]

  - ##### `Optional` additionalWitnesses: AccountInstance[]

  #### Returns PromiseEx<ModuleQueryResult<SchemaFields & PayloadFields & {
  schema: string;
  }>, AccountInstance[]>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:43

### clearListeners

- clearListeners(eventNames): void

- #### Parameters

  - ##### eventNames: keyof TEventData | (keyof TEventData)[]

  #### Returns void

  Implementation of Module.clearListeners

  Inherited from BaseEmitter.clearListeners

  - Defined in modules/packages/module/packages/abstract/dist/types/BaseEmitter.d.ts:7

### discover

- discover(): Promisable<(SchemaFields & PayloadFields & {
  schema: string;
  })[], never>

- #### Returns Promisable<(SchemaFields & PayloadFields & {
  schema: string;
  })[], never>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:32

### emit

- emit<TEventName, TEventArgs>(eventName, eventArgs): Promise<void>

- #### Type Parameters

  - #### TEventName extends string | number | symbol = keyof TEventData

  - #### TEventArgs extends EventArgs = TEventData[TEventName]

  #### Parameters

  - ##### eventName: TEventName

  - ##### eventArgs: TEventArgs

  #### Returns Promise<void>

  Implementation of Module.emit

  Inherited from BaseEmitter.emit

  - Defined in modules/packages/module/packages/abstract/dist/types/BaseEmitter.d.ts:8

### emitSerial

- emitSerial<TEventName, TEventArgs>(eventName, eventArgs): Promise<void>

- #### Type Parameters

  - #### TEventName extends string | number | symbol = keyof TEventData

  - #### TEventArgs extends EventArgs = TEventData[TEventName]

  #### Parameters

  - ##### eventName: TEventName

  - ##### eventArgs: TEventArgs

  #### Returns Promise<void>

  Implementation of Module.emitSerial

  Inherited from BaseEmitter.emitSerial

  - Defined in modules/packages/module/packages/abstract/dist/types/BaseEmitter.d.ts:9

### `Protected` initializeQueryAccounts

- initializeQueryAccounts(): void

- #### Returns void

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:77

### listenerCount

- listenerCount(eventNames): number

- #### Parameters

  - ##### eventNames: keyof TEventData | (keyof TEventData)[]

  #### Returns number

  Implementation of Module.listenerCount

  Inherited from BaseEmitter.listenerCount

  - Defined in modules/packages/module/packages/abstract/dist/types/BaseEmitter.d.ts:10

### `Protected` loadAccount

- loadAccount(account?): AccountInstance

- #### Parameters

  - ##### `Optional` account: AccountInstance

  #### Returns AccountInstance

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:78

### moduleAccountQuery

- moduleAccountQuery(): Promisable<(SchemaFields & PayloadFields & {
  address: string;
  name?: string;
  schema: "network.xyo.address";
  } | SchemaFields & PayloadFields & {
  address: string;
  previousHash?: string;
  schema: string;
  })[], never>

- #### Returns Promisable<(SchemaFields & PayloadFields & {
  address: string;
  name?: string;
  schema: "network.xyo.address";
  } | SchemaFields & PayloadFields & {
  address: string;
  previousHash?: string;
  schema: string;
  })[], never>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:33

### off

- off<TEventName>(eventNames, listener): void

- #### Type Parameters

  - #### TEventName extends string | number | symbol

  #### Parameters

  - ##### eventNames: TEventName | TEventName[]

  - ##### listener: EventListener<TEventData[TEventName]>

  #### Returns void

  Implementation of Module.off

  Inherited from BaseEmitter.off

  - Defined in modules/packages/module/packages/abstract/dist/types/BaseEmitter.d.ts:11

### offAny

- offAny(listener): void

- #### Parameters

  - ##### listener: EventAnyListener<EventArgs>

  #### Returns void

  Implementation of Module.offAny

  Inherited from BaseEmitter.offAny

  - Defined in modules/packages/module/packages/abstract/dist/types/BaseEmitter.d.ts:12

### on

- on<TEventName>(eventNames, listener): (() => void)

- #### Type Parameters

  - #### TEventName extends string | number | symbol

  #### Parameters

  - ##### eventNames: TEventName | TEventName[]

  - ##### listener: EventListener<TEventData[TEventName]>

  #### Returns (() => void)

  - - (): void

    - #### Returns void

  Implementation of Module.on

  Inherited from BaseEmitter.on

  - Defined in modules/packages/module/packages/abstract/dist/types/BaseEmitter.d.ts:13

### onAny

- onAny(listener): (() => void)

- #### Parameters

  - ##### listener: EventAnyListener<EventArgs>

  #### Returns (() => void)

  - - (): void

    - #### Returns void

  Implementation of Module.onAny

  Inherited from BaseEmitter.onAny

  - Defined in modules/packages/module/packages/abstract/dist/types/BaseEmitter.d.ts:14

### once

- once<TEventName>(eventName, listener): (() => void)

- #### Type Parameters

  - #### TEventName extends string | number | symbol

  #### Parameters

  - ##### eventName: TEventName

  - ##### listener: EventListener<TEventData[TEventName]>

  #### Returns (() => void)

  - - (): void

    - #### Returns void

  Implementation of Module.once

  Inherited from BaseEmitter.once

  - Defined in modules/packages/module/packages/abstract/dist/types/BaseEmitter.d.ts:15

### query

- query<T, TConfig>(query, payloads?, queryConfig?): Promise<ModuleQueryResult<SchemaFields & PayloadFields & {
  schema: string;
  }>>

- #### Type Parameters

  - #### T extends SchemaFields & PayloadFields & BoundWitnessFields & {
    query: string;
    resultSet?: string;
    schema: "network.xyo.boundwitness";
    } = SchemaFields & PayloadFields & BoundWitnessFields & {
    query: string;
    resultSet?: string;
    schema: "network.xyo.boundwitness";
    }

  - #### TConfig extends SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema"> = SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">

  #### Parameters

  - ##### query: T

  - ##### `Optional` payloads: (SchemaFields & PayloadFields & {
    schema: string;
    })[]

  - ##### `Optional` queryConfig: TConfig

  #### Returns Promise<ModuleQueryResult<SchemaFields & PayloadFields & {
  schema: string;
  }>>

  Implementation of Module.query

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:34

### `Protected` queryHandler

- queryHandler<T, TConfig>(query, payloads?, queryConfig?): Promise<ModuleQueryResult<SchemaFields & PayloadFields & {
  schema: string;
  }>>

- #### Type Parameters

  - #### T extends SchemaFields & PayloadFields & BoundWitnessFields & {
    query: string;
    resultSet?: string;
    schema: "network.xyo.boundwitness";
    } = SchemaFields & PayloadFields & BoundWitnessFields & {
    query: string;
    resultSet?: string;
    schema: "network.xyo.boundwitness";
    }

  - #### TConfig extends SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema"> = SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">

  #### Parameters

  - ##### query: T

  - ##### `Optional` payloads: (SchemaFields & PayloadFields & {
    schema: string;
    })[]

  - ##### `Optional` queryConfig: TConfig

  #### Returns Promise<ModuleQueryResult<SchemaFields & PayloadFields & {
  schema: string;
  }>>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:79

### queryable

- queryable<T, TConfig>(query, payloads?, queryConfig?): boolean

- #### Type Parameters

  - #### T extends SchemaFields & PayloadFields & BoundWitnessFields & {
    query: string;
    resultSet?: string;
    schema: "network.xyo.boundwitness";
    } = SchemaFields & PayloadFields & BoundWitnessFields & {
    query: string;
    resultSet?: string;
    schema: "network.xyo.boundwitness";
    }

  - #### TConfig extends SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema"> = SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">

  #### Parameters

  - ##### query: T

  - ##### `Optional` payloads: (SchemaFields & PayloadFields & {
    schema: string;
    })[]

  - ##### `Optional` queryConfig: TConfig

  #### Returns boolean

  Implementation of Module.queryable

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:35

### `Protected` resolve

- resolve<TModule>(filter?): Promise<TModule[]>

- #### Type Parameters

  - #### TModule extends ModuleFields<ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>> & EventFunctions<ModuleEventData, TModule> = Module<ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>, ModuleEventData>

  #### Parameters

  - ##### `Optional` filter: ModuleFilter

  #### Returns Promise<TModule[]>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:113

### start

- start(_timeout?): Promisable<void, never>

- #### Parameters

  - ##### `Optional` _timeout: number

  #### Returns Promisable<void, never>

  Implementation of Module.start

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:36

### started

- started(notStartedAction?): boolean

- #### Parameters

  - ##### `Optional` notStartedAction: "error" | "throw" | "warn" | "log" | "none"

  #### Returns boolean

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:37

### `Protected` stop

- stop(_timeout?): Promisable<AbstractModule<TParams, TEventData>, never>

- #### Parameters

  - ##### `Optional` _timeout: number

  #### Returns Promisable<AbstractModule<TParams, TEventData>, never>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:114

### subscribe

- subscribe(_queryAccount?): void

- #### Parameters

  - ##### `Optional` _queryAccount: AccountInstance

  #### Returns void

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:38

### `Protected` validateConfig

- validateConfig(config?, parents?): boolean

- #### Parameters

  - ##### `Optional` config: unknown

  - ##### `Optional` parents: string[]

  #### Returns boolean

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:115

### `Static` create

- create<TModule>(this, params?): Promise<TModule>

- #### Type Parameters

  - #### TModule extends ModuleFields<ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>> & EventFunctions<ModuleEventData, TModule>

  #### Parameters

  - ##### this: CreatableModule<TModule>

  - ##### `Optional` params: TModule["params"]

  #### Returns Promise<TModule>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:30

### `Static` factory

- factory<TModule>(this, params?): CreatableModuleFactory<TModule>

- #### Type Parameters

  - #### TModule extends ModuleFields<ModuleParams<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: string;
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<Omit<SchemaFields & PayloadFields & {
    archivist?: ArchivistModuleConfig;
    name?: string;
    paging?: Record<string, {
    size?: number;
    }>;
    schema: "network.xyo.module.config";
    security?: {
    allowAnonymous?: boolean;
    allowed?: Record<string, (string | CosigningAddressSet)[]>;
    disallowed?: Record<string, string[]>;
    };
    storeQueries?: boolean;
    } & Omit<undefined, "schema">, "schema"> & {
    schema: string;
    }, "schema">, undefined>> & EventFunctions<ModuleEventData, TModule>

  #### Parameters

  - ##### this: CreatableModule<TModule>

  - ##### `Optional` params: TModule["params"]

  #### Returns CreatableModuleFactory<TModule>

  - Defined in modules/packages/module/packages/abstract/dist/types/AbstractModule.d.ts:31

Generated using TypeDoc