import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * This resource allows you to configure experiments for your Statsig project.
 *
 * To learn more about experiments, see [Experiments Documentation](https://docs.statsig.com/experiments-plus/)
 *
 * To learn more about the API powering this resource, see [Experiments API Documentation](https://docs.statsig.com/console-api/experiments)
 */
export declare class Experiment extends pulumi.CustomResource {
    /**
     * Get an existing Experiment resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ExperimentState, opts?: pulumi.CustomResourceOptions): Experiment;
    /**
     * Returns true if the given object is an instance of Experiment.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Experiment;
    /**
     * Percent of layer allocated to this experiment
     */
    readonly allocation: pulumi.Output<number>;
    /**
     * Warehouse Native Only - Allocation duration in days
     */
    readonly allocationDuration: pulumi.Output<number>;
    /**
     * Warehouse Native only - end time for analysis only experiments
     */
    readonly analysisEndTime: pulumi.Output<string>;
    /**
     * The mode of analysis for the experiment, e.g frequentist, bayesian, sprt
     */
    readonly analyticsType: pulumi.Output<string>;
    /**
     * Name of the source experiment for assignment
     */
    readonly assignmentSourceExperimentName: pulumi.Output<string>;
    /**
     * Source name of the assignment
     */
    readonly assignmentSourceName: pulumi.Output<string>;
    /**
     * Is Benjamini-Hochberg procedure applied per metric?
     */
    readonly benjaminiHochbergPerMetric: pulumi.Output<boolean>;
    /**
     * Is Benjamini-Hochberg procedure applied per variant?
     */
    readonly benjaminiHochbergPerVariant: pulumi.Output<boolean>;
    /**
     * Is Benjamini-Hochberg procedure applied for primary metrics only?
     */
    readonly benjaminiPrimaryMetricsOnly: pulumi.Output<boolean>;
    /**
     * Is Bonferroni correction applied per variant?
     */
    readonly bonferroniCorrection: pulumi.Output<boolean>;
    /**
     * Is Bonferroni correction applied per metric?
     */
    readonly bonferroniCorrectionPerMetric: pulumi.Output<boolean>;
    /**
     * Warehouse Native Only - Whether to filter to units whose experiment cohort analysis duration is complete, if cohortedAnalysisDuration exists
     */
    readonly cohortWaitUntilEndToInclude: pulumi.Output<boolean>;
    /**
     * Warehouse Native Only - Cohorted analysis duration in days
     */
    readonly cohortedAnalysisDuration: pulumi.Output<number>;
    /**
     * Warehouse Native Only - Allow cohort metrics to mature after experiment end
     */
    readonly cohortedMetricsMatureAfterEnd: pulumi.Output<boolean>;
    /**
     * Optional control group ID
     */
    readonly controlGroupId: pulumi.Output<string>;
    /**
     * The email of the creator of this experiment
     */
    readonly creatorEmail: pulumi.Output<string>;
    /**
     * The Statsig ID of the creator of this experiment
     */
    readonly creatorId: pulumi.Output<string>;
    /**
     * Default error margin used for results
     */
    readonly defaultConfidenceInterval: pulumi.Output<string>;
    /**
     * A description of the new experiment
     */
    readonly description: pulumi.Output<string>;
    /**
     * How long the experiment is expected to last in days
     */
    readonly duration: pulumi.Output<number>;
    /**
     * Fixed analysis duration in days
     */
    readonly fixedAnalysisDuration: pulumi.Output<number>;
    /**
     * The test groups for your experiment
     */
    readonly groups: pulumi.Output<outputs.ExperimentGroup[]>;
    /**
     * A statement that will be tested by this experiment
     */
    readonly hypothesis: pulumi.Output<string>;
    /**
     * The idType the experiment will be performed on
     */
    readonly idType: pulumi.Output<string>;
    /**
     * For Warehouse Native
     */
    readonly isAnalysisOnly: pulumi.Output<boolean>;
    /**
     * ID of the launched group, null otherwise
     */
    readonly launchedGroupId: pulumi.Output<string>;
    /**
     * Which layer to place the experiment into.
     */
    readonly layerId: pulumi.Output<string>;
    /**
     * Links to relevant documentation or resources
     */
    readonly links: pulumi.Output<outputs.ExperimentLink[]>;
    /**
     * The name of the new experiment
     */
    readonly name: pulumi.Output<string>;
    /**
     * Primary metric tags for the experiment
     */
    readonly primaryMetricTags: pulumi.Output<string[]>;
    /**
     * Main metrics needed to evaluate your hypothesis
     */
    readonly primaryMetrics: pulumi.Output<outputs.ExperimentPrimaryMetric[]>;
    /**
     * Warehouse Native only - UTC hour at which to run scheduled pulse loads
     */
    readonly scheduledReloadHour: pulumi.Output<number>;
    /**
     * Warehouse Native only - reload type for scheduled reloads
     */
    readonly scheduledReloadType: pulumi.Output<string>;
    /**
     * The secondary ID type for the experiment used in WHN for ID resolution
     */
    readonly secondaryIdtype: pulumi.Output<string>;
    /**
     * Secondary metric tags for the experiment
     */
    readonly secondaryMetricTags: pulumi.Output<string[]>;
    /**
     * Additional metrics to monitor that might impact the analysis or final decision of the experiment
     */
    readonly secondaryMetrics: pulumi.Output<outputs.ExperimentSecondaryMetric[]>;
    /**
     * Apply sequential testing?
     */
    readonly sequentialTesting: pulumi.Output<boolean>;
    /**
     * The current status of the experiment
     */
    readonly status: pulumi.Output<string>;
    /**
     * Tags associated with the experiment
     */
    readonly tags: pulumi.Output<string[]>;
    /**
     * Target apps assigned to this experiment
     */
    readonly targetApps: pulumi.Output<string[]>;
    /**
     * Target exposures for the experiment
     */
    readonly targetExposures: pulumi.Output<number>;
    /**
     * Restrict your experiment to users passing the selected feature gate
     */
    readonly targetingGateId: pulumi.Output<string>;
    /**
     * Enterprise only
     */
    readonly team: pulumi.Output<string>;
    /**
     * Create a Experiment resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args?: ExperimentArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Experiment resources.
 */
export interface ExperimentState {
    /**
     * Percent of layer allocated to this experiment
     */
    allocation?: pulumi.Input<number>;
    /**
     * Warehouse Native Only - Allocation duration in days
     */
    allocationDuration?: pulumi.Input<number>;
    /**
     * Warehouse Native only - end time for analysis only experiments
     */
    analysisEndTime?: pulumi.Input<string>;
    /**
     * The mode of analysis for the experiment, e.g frequentist, bayesian, sprt
     */
    analyticsType?: pulumi.Input<string>;
    /**
     * Name of the source experiment for assignment
     */
    assignmentSourceExperimentName?: pulumi.Input<string>;
    /**
     * Source name of the assignment
     */
    assignmentSourceName?: pulumi.Input<string>;
    /**
     * Is Benjamini-Hochberg procedure applied per metric?
     */
    benjaminiHochbergPerMetric?: pulumi.Input<boolean>;
    /**
     * Is Benjamini-Hochberg procedure applied per variant?
     */
    benjaminiHochbergPerVariant?: pulumi.Input<boolean>;
    /**
     * Is Benjamini-Hochberg procedure applied for primary metrics only?
     */
    benjaminiPrimaryMetricsOnly?: pulumi.Input<boolean>;
    /**
     * Is Bonferroni correction applied per variant?
     */
    bonferroniCorrection?: pulumi.Input<boolean>;
    /**
     * Is Bonferroni correction applied per metric?
     */
    bonferroniCorrectionPerMetric?: pulumi.Input<boolean>;
    /**
     * Warehouse Native Only - Whether to filter to units whose experiment cohort analysis duration is complete, if cohortedAnalysisDuration exists
     */
    cohortWaitUntilEndToInclude?: pulumi.Input<boolean>;
    /**
     * Warehouse Native Only - Cohorted analysis duration in days
     */
    cohortedAnalysisDuration?: pulumi.Input<number>;
    /**
     * Warehouse Native Only - Allow cohort metrics to mature after experiment end
     */
    cohortedMetricsMatureAfterEnd?: pulumi.Input<boolean>;
    /**
     * Optional control group ID
     */
    controlGroupId?: pulumi.Input<string>;
    /**
     * The email of the creator of this experiment
     */
    creatorEmail?: pulumi.Input<string>;
    /**
     * The Statsig ID of the creator of this experiment
     */
    creatorId?: pulumi.Input<string>;
    /**
     * Default error margin used for results
     */
    defaultConfidenceInterval?: pulumi.Input<string>;
    /**
     * A description of the new experiment
     */
    description?: pulumi.Input<string>;
    /**
     * How long the experiment is expected to last in days
     */
    duration?: pulumi.Input<number>;
    /**
     * Fixed analysis duration in days
     */
    fixedAnalysisDuration?: pulumi.Input<number>;
    /**
     * The test groups for your experiment
     */
    groups?: pulumi.Input<pulumi.Input<inputs.ExperimentGroup>[]>;
    /**
     * A statement that will be tested by this experiment
     */
    hypothesis?: pulumi.Input<string>;
    /**
     * The idType the experiment will be performed on
     */
    idType?: pulumi.Input<string>;
    /**
     * For Warehouse Native
     */
    isAnalysisOnly?: pulumi.Input<boolean>;
    /**
     * ID of the launched group, null otherwise
     */
    launchedGroupId?: pulumi.Input<string>;
    /**
     * Which layer to place the experiment into.
     */
    layerId?: pulumi.Input<string>;
    /**
     * Links to relevant documentation or resources
     */
    links?: pulumi.Input<pulumi.Input<inputs.ExperimentLink>[]>;
    /**
     * The name of the new experiment
     */
    name?: pulumi.Input<string>;
    /**
     * Primary metric tags for the experiment
     */
    primaryMetricTags?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Main metrics needed to evaluate your hypothesis
     */
    primaryMetrics?: pulumi.Input<pulumi.Input<inputs.ExperimentPrimaryMetric>[]>;
    /**
     * Warehouse Native only - UTC hour at which to run scheduled pulse loads
     */
    scheduledReloadHour?: pulumi.Input<number>;
    /**
     * Warehouse Native only - reload type for scheduled reloads
     */
    scheduledReloadType?: pulumi.Input<string>;
    /**
     * The secondary ID type for the experiment used in WHN for ID resolution
     */
    secondaryIdtype?: pulumi.Input<string>;
    /**
     * Secondary metric tags for the experiment
     */
    secondaryMetricTags?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Additional metrics to monitor that might impact the analysis or final decision of the experiment
     */
    secondaryMetrics?: pulumi.Input<pulumi.Input<inputs.ExperimentSecondaryMetric>[]>;
    /**
     * Apply sequential testing?
     */
    sequentialTesting?: pulumi.Input<boolean>;
    /**
     * The current status of the experiment
     */
    status?: pulumi.Input<string>;
    /**
     * Tags associated with the experiment
     */
    tags?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Target apps assigned to this experiment
     */
    targetApps?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Target exposures for the experiment
     */
    targetExposures?: pulumi.Input<number>;
    /**
     * Restrict your experiment to users passing the selected feature gate
     */
    targetingGateId?: pulumi.Input<string>;
    /**
     * Enterprise only
     */
    team?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a Experiment resource.
 */
export interface ExperimentArgs {
    /**
     * Percent of layer allocated to this experiment
     */
    allocation?: pulumi.Input<number>;
    /**
     * Warehouse Native Only - Allocation duration in days
     */
    allocationDuration?: pulumi.Input<number>;
    /**
     * Warehouse Native only - end time for analysis only experiments
     */
    analysisEndTime?: pulumi.Input<string>;
    /**
     * The mode of analysis for the experiment, e.g frequentist, bayesian, sprt
     */
    analyticsType?: pulumi.Input<string>;
    /**
     * Name of the source experiment for assignment
     */
    assignmentSourceExperimentName?: pulumi.Input<string>;
    /**
     * Source name of the assignment
     */
    assignmentSourceName?: pulumi.Input<string>;
    /**
     * Is Benjamini-Hochberg procedure applied per metric?
     */
    benjaminiHochbergPerMetric?: pulumi.Input<boolean>;
    /**
     * Is Benjamini-Hochberg procedure applied per variant?
     */
    benjaminiHochbergPerVariant?: pulumi.Input<boolean>;
    /**
     * Is Benjamini-Hochberg procedure applied for primary metrics only?
     */
    benjaminiPrimaryMetricsOnly?: pulumi.Input<boolean>;
    /**
     * Is Bonferroni correction applied per variant?
     */
    bonferroniCorrection?: pulumi.Input<boolean>;
    /**
     * Is Bonferroni correction applied per metric?
     */
    bonferroniCorrectionPerMetric?: pulumi.Input<boolean>;
    /**
     * Warehouse Native Only - Whether to filter to units whose experiment cohort analysis duration is complete, if cohortedAnalysisDuration exists
     */
    cohortWaitUntilEndToInclude?: pulumi.Input<boolean>;
    /**
     * Warehouse Native Only - Cohorted analysis duration in days
     */
    cohortedAnalysisDuration?: pulumi.Input<number>;
    /**
     * Warehouse Native Only - Allow cohort metrics to mature after experiment end
     */
    cohortedMetricsMatureAfterEnd?: pulumi.Input<boolean>;
    /**
     * Optional control group ID
     */
    controlGroupId?: pulumi.Input<string>;
    /**
     * The email of the creator of this experiment
     */
    creatorEmail?: pulumi.Input<string>;
    /**
     * The Statsig ID of the creator of this experiment
     */
    creatorId?: pulumi.Input<string>;
    /**
     * Default error margin used for results
     */
    defaultConfidenceInterval?: pulumi.Input<string>;
    /**
     * A description of the new experiment
     */
    description?: pulumi.Input<string>;
    /**
     * How long the experiment is expected to last in days
     */
    duration?: pulumi.Input<number>;
    /**
     * Fixed analysis duration in days
     */
    fixedAnalysisDuration?: pulumi.Input<number>;
    /**
     * The test groups for your experiment
     */
    groups?: pulumi.Input<pulumi.Input<inputs.ExperimentGroup>[]>;
    /**
     * A statement that will be tested by this experiment
     */
    hypothesis?: pulumi.Input<string>;
    /**
     * The idType the experiment will be performed on
     */
    idType?: pulumi.Input<string>;
    /**
     * For Warehouse Native
     */
    isAnalysisOnly?: pulumi.Input<boolean>;
    /**
     * ID of the launched group, null otherwise
     */
    launchedGroupId?: pulumi.Input<string>;
    /**
     * Which layer to place the experiment into.
     */
    layerId?: pulumi.Input<string>;
    /**
     * Links to relevant documentation or resources
     */
    links?: pulumi.Input<pulumi.Input<inputs.ExperimentLink>[]>;
    /**
     * The name of the new experiment
     */
    name?: pulumi.Input<string>;
    /**
     * Primary metric tags for the experiment
     */
    primaryMetricTags?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Main metrics needed to evaluate your hypothesis
     */
    primaryMetrics?: pulumi.Input<pulumi.Input<inputs.ExperimentPrimaryMetric>[]>;
    /**
     * Warehouse Native only - UTC hour at which to run scheduled pulse loads
     */
    scheduledReloadHour?: pulumi.Input<number>;
    /**
     * Warehouse Native only - reload type for scheduled reloads
     */
    scheduledReloadType?: pulumi.Input<string>;
    /**
     * The secondary ID type for the experiment used in WHN for ID resolution
     */
    secondaryIdtype?: pulumi.Input<string>;
    /**
     * Secondary metric tags for the experiment
     */
    secondaryMetricTags?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Additional metrics to monitor that might impact the analysis or final decision of the experiment
     */
    secondaryMetrics?: pulumi.Input<pulumi.Input<inputs.ExperimentSecondaryMetric>[]>;
    /**
     * Apply sequential testing?
     */
    sequentialTesting?: pulumi.Input<boolean>;
    /**
     * The current status of the experiment
     */
    status?: pulumi.Input<string>;
    /**
     * Tags associated with the experiment
     */
    tags?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Target apps assigned to this experiment
     */
    targetApps?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Target exposures for the experiment
     */
    targetExposures?: pulumi.Input<number>;
    /**
     * Restrict your experiment to users passing the selected feature gate
     */
    targetingGateId?: pulumi.Input<string>;
    /**
     * Enterprise only
     */
    team?: pulumi.Input<string>;
}
