import { LaunchDarklyCore } from "../core.js";
import { RequestOptions } from "../lib/sdks.js";
import * as components from "../models/components/index.js";
import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
import * as errors from "../models/errors/index.js";
import { LaunchDarklyError } from "../models/errors/launchdarklyerror.js";
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
import * as operations from "../models/operations/index.js";
import { APIPromise } from "../types/async.js";
import { Result } from "../types/fp.js";
/**
 * Create experiment
 *
 * @remarks
 * Create an experiment.
 *
 * To run this experiment, you'll need to [create an iteration](https://launchdarkly.com/docs/api/experiments/create-iteration) and then [update the experiment](https://launchdarkly.com/docs/api/experiments/patch-experiment) with the `startIteration` instruction.
 *
 * ### Experiment types
 *
 * Use the `type` field to specify the experiment type: `experiment` (default), `mab` (multi-armed bandit), or `holdout`.
 *
 * For multi-armed bandit experiments, set `reallocationFrequencyMillis` on the iteration to control how often traffic is reallocated across variations.
 *
 * ### Results analysis
 *
 * Use the `methodology` field to specify the results analysis approach: `frequentist` (default) or `bayesian`. Multi-armed bandit experiments support only `bayesian`, which is their default.
 *
 * Use the `dataSource` field to specify the source of metric data: `launchdarkly` (default), `snowflake`, or `databricks`.
 *
 * Use the `analysisConfig` field to customize analysis settings such as the Bayesian threshold, significance threshold, or multiple comparison correction method.
 *
 * To learn more, read [Creating experiments](https://launchdarkly.com/docs/home/experimentation/create).
 */
export declare function experimentsCreate(client: LaunchDarklyCore, request: operations.CreateExperimentRequest, options?: RequestOptions): APIPromise<Result<components.Experiment, errors.InvalidRequestErrorRep | errors.UnauthorizedErrorRep | errors.ForbiddenErrorRep | errors.NotFoundErrorRep | errors.RateLimitedErrorRep | LaunchDarklyError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
//# sourceMappingURL=experimentsCreate.d.ts.map