@opra/common
Version:
Opra common package
48 lines (47 loc) • 1.44 kB
TypeScript
import { type Combine, type StrictOmit, type TypeThunkAsync } from 'ts-gems';
import type { OpraSchema } from '../../schema/index.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 RpcHeader
*/
export declare namespace RpcHeader {
interface Metadata extends StrictOmit<OpraSchema.RpcHeader, 'type'> {
name: string | RegExp;
type?: string | TypeThunkAsync | EnumType.EnumObject | EnumType.EnumArray | object;
}
interface Options extends Partial<StrictOmit<Metadata, 'type'>> {
type?: string | TypeThunkAsync | object;
}
interface InitArguments extends Combine<{
type?: DataType;
}, Metadata> {
}
}
/**
* Type definition for RpcHeader
* @class RpcHeader
*/
interface RpcHeaderStatic {
new (owner: DocumentElement, args: RpcHeader.InitArguments): RpcHeader;
prototype: RpcHeader;
}
/**
* Type definition of RpcHeader prototype
* @interface RpcHeader
*/
export interface RpcHeader extends RpcHeaderClass {
}
export declare const RpcHeader: RpcHeaderStatic;
/**
* @class RpcHeader
*/
declare class RpcHeaderClass extends Value {
readonly owner: DocumentElement;
deprecated?: boolean | string;
required?: boolean;
toJSON(): OpraSchema.RpcHeader;
}
export {};