@fanoutio/grip
Version:
GRIP Interface Library
31 lines • 1.59 kB
TypeScript
import { type IFormat, type IItem, HttpResponseFormat, HttpStreamFormat } from '../data/index.js';
import { type IPublisherClient } from './IPublisherClient.js';
import { type IGripConfig } from './IGripConfig.js';
import { PublisherClientOptions } from './PublisherClient.js';
/**
* @deprecated
*/
export type GripUrlOrConfigs = GripConfig | GripConfig[];
export type GripConfig = string | IGripConfig;
export type PublisherOptions = PublisherClientOptions & {
prefix?: string;
};
export type ValidateGripSigResult = {
isProxied: boolean;
needsSigned: boolean;
isSigned: boolean;
};
export declare class Publisher {
clients: IPublisherClient[];
prefix: string | undefined;
constructor(config?: GripConfig | GripConfig[], publisherOptions?: PublisherOptions);
applyConfigs(config: GripConfig | GripConfig[], publisherClientOptions?: PublisherClientOptions): void;
applyConfig(config: string | IGripConfig, publisherClientOptions?: PublisherClientOptions): void;
addClient(client: IPublisherClient): void;
publish(channel: string, item: IItem): Promise<void>;
publishFormats(channel: string, formats: IFormat | IFormat[], id?: string, prevId?: string): Promise<void>;
publishHttpResponse(channel: string, data: HttpResponseFormat | string, id?: string, prevId?: string): Promise<void>;
publishHttpStream(channel: string, data: HttpStreamFormat | string, id?: string, prevId?: string): Promise<void>;
validateGripSig(gripSigHeaderValue: string | null): Promise<ValidateGripSigResult>;
}
//# sourceMappingURL=Publisher.d.ts.map