import { CloudEvent } from "./core";
import { MessagePublishedData, V1PubSubMessage } from "./providers/pubsub";
import { EventContext as V1EventContext } from "../v1";
export interface V1Context extends Omit<V1EventContext, "resource"> {
    resource: {
        service: string;
        name: string;
    };
}
export type PubSubCloudEvent<T> = CloudEvent<MessagePublishedData<T>> & {
    context: V1Context;
    message: V1PubSubMessage<T>;
};
export declare function patchV1Compat<T>(event: CloudEvent<MessagePublishedData<T>>): PubSubCloudEvent<T>;
export declare function patchV1Compat<T>(event: CloudEvent<T>): CloudEvent<T>;
