@croct/plug
Version:
A fully-featured devkit for building natively personalized applications.
24 lines (21 loc) • 825 B
TypeScript
import { EvaluationOptions as EvaluationOptions$1 } from '@croct/sdk/evaluator';
import { ApiKey } from '@croct/sdk/apiKey';
import { Logger } from '@croct/sdk/logging';
import { JsonValue } from '@croct/json/mutable';
type EvaluationOptions<T extends JsonValue = JsonValue> = EvaluationOptions$1 & AuthOptions & FetchingOptions<T>;
type FetchingOptions<T extends JsonValue> = {
baseEndpointUrl?: string;
fallback?: T;
logger?: Logger;
};
type AuthOptions = ServerSideAuthOptions | ClientSideAuthOptions;
type ServerSideAuthOptions = {
apiKey: string | ApiKey;
appId?: never;
};
type ClientSideAuthOptions = {
appId: string;
apiKey?: never;
};
declare function evaluate<T extends JsonValue>(query: string, options: EvaluationOptions<T>): Promise<T>;
export { type EvaluationOptions, evaluate };