import { type Combine, type StrictOmit, type Type, type TypeThunkAsync } from 'ts-gems'; import { type Validator } from 'valgen'; import type { OpraSchema } from '../../schema/index.js'; import type { ApiDocument } from '../api-document.js'; import { DocumentElement } from '../common/document-element.js'; import { Value } from '../common/value.js'; import { DataType } from '../data-type/data-type.js'; import type { EnumType } from '../data-type/enum-type.js'; /** * @namespace MQHeader */ export declare namespace MQHeader { interface Metadata extends StrictOmit { name: string | RegExp; type?: string | TypeThunkAsync | EnumType.EnumObject | EnumType.EnumArray | object; designType?: Type; } interface Options extends Partial> { type?: string | TypeThunkAsync | object; } interface InitArguments extends Combine<{ type?: DataType; }, Metadata> { } } /** * Type definition for MQHeader * @class MQHeader */ interface MQHeaderStatic { new (owner: DocumentElement, args: MQHeader.InitArguments): MQHeader; prototype: MQHeader; } /** * Type definition of MQHeader prototype * @interface MQHeader */ export interface MQHeader extends MQHeaderClass { } export declare const MQHeader: MQHeaderStatic; /** * @class MQHeader */ declare class MQHeaderClass extends Value { readonly owner: DocumentElement; get docKeyUnstable(): boolean; protected get docKeySegment(): string[]; deprecated?: boolean | string; required?: boolean; designType?: Type; toJSON(options?: ApiDocument.ExportOptions): OpraSchema.MQHeader; generateCodec(codec: 'encode' | 'decode', options?: DataType.GenerateCodecOptions, properties?: any): Validator; } export {};