import { MessageDescriptor } from "@selfage/message/descriptor";
export interface QueryParamDescriptor {
    key: string;
    type: MessageDescriptor<any>;
}
export declare enum PrimitveTypeForBody {
    BYTES = 1
}
export interface BodyDescriptor {
    messageType?: MessageDescriptor<any>;
    primitiveType?: PrimitveTypeForBody;
    streamMessageType?: MessageDescriptor<any>;
}
export interface ResponseDescriptor {
    messageType?: MessageDescriptor<any>;
}
export interface RemoteCallDescriptor {
    name: string;
    service: ServiceDescriptor;
    path: string;
    authKey?: string;
    metadata?: QueryParamDescriptor;
    body?: BodyDescriptor;
    response: ResponseDescriptor;
}
export interface ServiceDescriptor {
    name: string;
    path: string;
}
