# Type alias ConstructableModuleWrapper<TWrapper>

ConstructableModuleWrapper<TWrapper>: {
defaultLogger?: Logger;
requiredQueries: string[];
canWrap(module?) => boolean;
tryWrap<TModuleWrapper>(this, module?, account?) => undefined | TModuleWrapper;
wrap<TModuleWrapper>(this, module?, account?) => TModuleWrapper;
new (params): TWrapper;
}

#### Type Parameters

- #### TWrapper extends ModuleWrapper

#### Type declaration

- - new (params): TWrapper

  - #### Parameters

    - ##### params: BaseParamsFields & {
      account?: AccountInstance;
      module: TWrappedModule;
      }

    #### Returns TWrapper

- ##### `Optional` defaultLogger?: Logger

- ##### requiredQueries: string[]

- ##### canWrap:function

  - canWrap(module?): boolean

  - #### Parameters

    - ##### `Optional` module: Module<ModuleParams<SchemaFields & PayloadFields & {
      archivist?: ArchivistModuleConfig;
      name?: string;
      paging?: Record<string, {
      size?: number;
      }>;
      schema: TConfig extends Payload
      ? TConfig["schema"]
      : ModuleConfigSchema;
      security?: {
      allowAnonymous?: boolean;
      allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>;
      disallowed?: Record<SchemaString, AddressString[]>;
      };
      storeQueries?: boolean;
      } & Omit<Omit<SchemaFields & PayloadFields & {
      archivist?: ArchivistModuleConfig;
      name?: string;
      paging?: Record<string, {
      size?: number;
      }>;
      schema: TConfig extends Payload
      ? TConfig["schema"]
      : ModuleConfigSchema;
      security?: {
      allowAnonymous?: boolean;
      allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>;
      disallowed?: Record<SchemaString, AddressString[]>;
      };
      storeQueries?: boolean;
      } & Omit<undefined, "schema">, "schema"> & {
      schema: string;
      }, "schema">, undefined>, ModuleEventData>

    #### Returns boolean

    - Defined in modules/packages/module/packages/wrapper/dist/types/Wrapper.d.ts:20

- ##### tryWrap:function

  - tryWrap<TModuleWrapper>(this, module?, account?): undefined | TModuleWrapper

  - #### Type Parameters

    - #### TModuleWrapper extends ModuleWrapper<Module<ModuleParams<SchemaFields & PayloadFields & {
      archivist?: ArchivistModuleConfig;
      name?: string;
      paging?: Record<string, {
      size?: number;
      }>;
      schema: TConfig extends Payload
      ? TConfig["schema"]
      : ModuleConfigSchema;
      security?: {
      allowAnonymous?: boolean;
      allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>;
      disallowed?: Record<SchemaString, AddressString[]>;
      };
      storeQueries?: boolean;
      } & Omit<Omit<SchemaFields & PayloadFields & {
      archivist?: ArchivistModuleConfig;
      name?: string;
      paging?: Record<string, {
      size?: number;
      }>;
      schema: TConfig extends Payload
      ? TConfig["schema"]
      : ModuleConfigSchema;
      security?: {
      allowAnonymous?: boolean;
      allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>;
      disallowed?: Record<SchemaString, AddressString[]>;
      };
      storeQueries?: boolean;
      } & Omit<undefined, "schema">, "schema"> & {
      schema: string;
      }, "schema">, undefined>, ModuleEventData>, TModuleWrapper>

    #### Parameters

    - ##### this: ConstructableModuleWrapper<TModuleWrapper>

    - ##### `Optional` module: Module<ModuleParams<SchemaFields & PayloadFields & {
      archivist?: ArchivistModuleConfig;
      name?: string;
      paging?: Record<string, {
      size?: number;
      }>;
      schema: TConfig extends Payload
      ? TConfig["schema"]
      : ModuleConfigSchema;
      security?: {
      allowAnonymous?: boolean;
      allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>;
      disallowed?: Record<SchemaString, AddressString[]>;
      };
      storeQueries?: boolean;
      } & Omit<Omit<SchemaFields & PayloadFields & {
      archivist?: ArchivistModuleConfig;
      name?: string;
      paging?: Record<string, {
      size?: number;
      }>;
      schema: TConfig extends Payload
      ? TConfig["schema"]
      : ModuleConfigSchema;
      security?: {
      allowAnonymous?: boolean;
      allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>;
      disallowed?: Record<SchemaString, AddressString[]>;
      };
      storeQueries?: boolean;
      } & Omit<undefined, "schema">, "schema"> & {
      schema: string;
      }, "schema">, undefined>, ModuleEventData>

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

    #### Returns undefined | TModuleWrapper

    - Defined in modules/packages/module/packages/wrapper/dist/types/Wrapper.d.ts:21

- ##### wrap:function

  - wrap<TModuleWrapper>(this, module?, account?): TModuleWrapper

  - #### Type Parameters

    - #### TModuleWrapper extends ModuleWrapper<Module<ModuleParams<SchemaFields & PayloadFields & {
      archivist?: ArchivistModuleConfig;
      name?: string;
      paging?: Record<string, {
      size?: number;
      }>;
      schema: TConfig extends Payload
      ? TConfig["schema"]
      : ModuleConfigSchema;
      security?: {
      allowAnonymous?: boolean;
      allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>;
      disallowed?: Record<SchemaString, AddressString[]>;
      };
      storeQueries?: boolean;
      } & Omit<Omit<SchemaFields & PayloadFields & {
      archivist?: ArchivistModuleConfig;
      name?: string;
      paging?: Record<string, {
      size?: number;
      }>;
      schema: TConfig extends Payload
      ? TConfig["schema"]
      : ModuleConfigSchema;
      security?: {
      allowAnonymous?: boolean;
      allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>;
      disallowed?: Record<SchemaString, AddressString[]>;
      };
      storeQueries?: boolean;
      } & Omit<undefined, "schema">, "schema"> & {
      schema: string;
      }, "schema">, undefined>, ModuleEventData>, TModuleWrapper>

    #### Parameters

    - ##### this: ConstructableModuleWrapper<TModuleWrapper>

    - ##### `Optional` module: Module<ModuleParams<SchemaFields & PayloadFields & {
      archivist?: ArchivistModuleConfig;
      name?: string;
      paging?: Record<string, {
      size?: number;
      }>;
      schema: TConfig extends Payload
      ? TConfig["schema"]
      : ModuleConfigSchema;
      security?: {
      allowAnonymous?: boolean;
      allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>;
      disallowed?: Record<SchemaString, AddressString[]>;
      };
      storeQueries?: boolean;
      } & Omit<Omit<SchemaFields & PayloadFields & {
      archivist?: ArchivistModuleConfig;
      name?: string;
      paging?: Record<string, {
      size?: number;
      }>;
      schema: TConfig extends Payload
      ? TConfig["schema"]
      : ModuleConfigSchema;
      security?: {
      allowAnonymous?: boolean;
      allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>;
      disallowed?: Record<SchemaString, AddressString[]>;
      };
      storeQueries?: boolean;
      } & Omit<undefined, "schema">, "schema"> & {
      schema: string;
      }, "schema">, undefined>, ModuleEventData>

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

    #### Returns TModuleWrapper

    - Defined in modules/packages/module/packages/wrapper/dist/types/Wrapper.d.ts:22

- Defined in modules/packages/module/packages/wrapper/dist/types/Wrapper.d.ts:16

Generated using TypeDoc