export declare enum CortexProtocolMessageType {
    Context = "context",
    Fetch = "fetch",
    Init = "init"
}
export interface IPluginMessage {
    type: CortexProtocolMessageType;
}
export declare enum PluginContextLocation {
    Entity = "ENTITY",
    Global = "GLOBAL"
}
export interface ProxyFetchRequestMessage extends IPluginMessage {
    init?: RequestInit;
    input: RequestInfo;
    type: CortexProtocolMessageType.Fetch;
}
export interface GetContextRequestMessage extends IPluginMessage {
    type: CortexProtocolMessageType.Context;
}
export interface PluginInitMessage extends IPluginMessage {
    type: CortexProtocolMessageType.Init;
}
type PluginMessage = PluginInitMessage | ProxyFetchRequestMessage | GetContextRequestMessage;
export declare function postCortexMessage<T>(message: PluginMessage): Promise<T>;
export {};
