export declare function serializeWorkerMessage(message: WorkerMessage): MessageTransferObject;
export declare function deserializeWorkerMessage(message: MessageTransferObject | any): WorkerMessage;
export type MessageTransferObject = {
    data: string;
};
export type PendingMessageContext = {
    resolve: (...args: any) => any;
    reject: (err?: any) => any;
};
export type SubscriptionContext = {
    handleEvent: (...args: any) => any;
    handleError: (...args: any) => any;
    subscribeOnce: boolean;
};
export type WorkerMessage = {
    id: string;
    type: 'FunctionRequestMessage' | 'FunctionResponseMessage' | 'FunctionCancellationMessage' | 'SubscriptionRequestMessage' | 'SubscriptionResponseMessage' | 'SubscriptionEventMessage' | 'SubscriptionCancellationMessage' | 'StartupFinishedMessage' | 'MetricsMessage' | 'GracefulShutdownMessage' | 'SystemMessage' | 'EventNotificationMessage';
    topic?: string;
    payload?: any;
    error?: any;
    reason?: string;
    subscribeOnce?: boolean;
    content?: any;
};
export type MetricsMessage = {
    id: string;
    type: 'MetricsMessage';
    typeOfMetrics: 'FunctionReport';
    payload: any;
};
export type EventNotificationMessage = {
    id: string;
    type: 'EventNotificationMessage';
    topic: string;
    payload?: any;
};
export type SystemMessage = {
    id: string;
    type: 'SystemMessage';
    content?: any;
};
export type FunctionRequestMessage = {
    id: string;
    type: 'FunctionRequestMessage';
    topic: string;
    payload?: any;
};
export type FunctionResponseMessage = {
    id: string;
    type: 'FunctionResponseMessage';
    payload?: any;
    error?: any;
};
export type FunctionCancellationMessage = {
    id: string;
    type: 'FunctionCancellationMessage';
    reason?: string;
};
export type SubscriptionRequestMessage = {
    id: string;
    type: 'SubscriptionRequestMessage';
    topic: string;
    payload?: any;
    subscribeOnce?: boolean;
};
export type SubscriptionResponseMessage = {
    id: string;
    type: 'SubscriptionResponseMessage';
    error?: any;
};
export type SubscriptionEventMessage = {
    id: string;
    type: 'SubscriptionEventMessage';
    topic?: string;
    payload?: any;
    error?: any;
};
export type SubscriptionCancellationMessage = {
    id: string;
    type: 'SubscriptionCancellationMessage';
    reason?: string;
};
export type StartupFinishedMessage = {
    id: string;
    type: 'StartupFinishedMessage';
};
export type GracefulShutdownMessage = {
    id: string;
    type: 'GracefulShutdownMessage';
};
