import * as jose from 'jose';
import * as Auth from '../auth/index.js';
import { JwkKey, PemKey } from '../utilities/index.js';
import { type IItem } from '../data/index.js';
import { type IGripConfig } from './IGripConfig.js';
import { type IPublisherClient } from './IPublisherClient.js';
export type VerifyComponents = {
    verifyIss?: string;
    verifyKey?: Uint8Array | jose.KeyLike | PemKey | JwkKey;
};
export type PublisherClientOptions = {
    fetch?: typeof fetch;
};
export type PublishContext = {
    statusCode: number;
    headers?: Headers;
    httpBody?: unknown;
};
export declare class PublisherClient implements IPublisherClient {
    publishUri: string;
    _auth?: Auth.IAuth;
    private _verifyComponents?;
    options: PublisherClientOptions;
    constructor(gripConfig: IGripConfig, options?: PublisherClientOptions);
    getAuth(): Auth.IAuth | undefined;
    getVerifyIss(): string | undefined;
    getVerifyKey(): Uint8Array | jose.KeyLike | PemKey | JwkKey | undefined;
    publish(channel: string, item: IItem): Promise<void>;
}
//# sourceMappingURL=PublisherClient.d.ts.map