import type { CacheScope, DataMutationMode, DataRequestMode, HydrationEnvelope, HydrationEnvelopeValidationOptions, OperationDescriptor, RequestEnvelope, RequestEnvelopeValidationOptions, SelectionPlan, SelectionPlanValidationOptions, SelectionPlanValidationResult, TraceContext } from './types.js';
export declare function validateSelectionPlan(plan: SelectionPlan, options?: SelectionPlanValidationOptions): SelectionPlanValidationResult;
export declare function createRequestEnvelope(input: {
operation: OperationDescriptor;
scope: CacheScope;
requestInput: Input;
selectionPlan?: SelectionPlan;
requestMode?: DataRequestMode;
mutationMode?: DataMutationMode;
traceContext?: TraceContext;
requireTraceContext?: boolean;
timestamp?: number;
protocolVersion?: 1;
}): RequestEnvelope;
export declare function validateRequestEnvelope(envelope: RequestEnvelope, options?: RequestEnvelopeValidationOptions): {
ok: boolean;
errors: string[];
};
export declare function createHydrationEnvelope(input: {
runtimeVersion: string;
scope: Pick;
payload: Payload;
createdAt?: number;
protocolVersion?: 1;
}): HydrationEnvelope;
export declare function validateHydrationEnvelope(envelope: HydrationEnvelope, options?: HydrationEnvelopeValidationOptions): {
ok: boolean;
errors: string[];
};