/**
 * authentik
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.2.2-rc1
 * Contact: hello@goauthentik.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { ReviewerUser } from './ReviewerUser';
import type { ReviewerGroup } from './ReviewerGroup';
import type { ContentTypeEnum } from './ContentTypeEnum';
import type { Review } from './Review';
import type { LifecycleIterationStateEnum } from './LifecycleIterationStateEnum';
/**
 * Mixin to validate that a valid enterprise license
 * exists before allowing to save the object
 * @export
 * @interface LifecycleIteration
 */
export interface LifecycleIteration {
    /**
     *
     * @type {string}
     * @memberof LifecycleIteration
     */
    readonly id: string;
    /**
     *
     * @type {ContentTypeEnum}
     * @memberof LifecycleIteration
     */
    contentType: ContentTypeEnum;
    /**
     *
     * @type {string}
     * @memberof LifecycleIteration
     */
    readonly objectId: string;
    /**
     *
     * @type {string}
     * @memberof LifecycleIteration
     */
    readonly objectVerbose: string;
    /**
     *
     * @type {string}
     * @memberof LifecycleIteration
     */
    readonly objectAdminUrl: string;
    /**
     *
     * @type {LifecycleIterationStateEnum}
     * @memberof LifecycleIteration
     */
    readonly state: LifecycleIterationStateEnum;
    /**
     *
     * @type {Date}
     * @memberof LifecycleIteration
     */
    readonly openedOn: Date;
    /**
     *
     * @type {Date}
     * @memberof LifecycleIteration
     */
    readonly gracePeriodEnd: Date;
    /**
     *
     * @type {Date}
     * @memberof LifecycleIteration
     */
    readonly nextReviewDate: Date;
    /**
     *
     * @type {Array<Review>}
     * @memberof LifecycleIteration
     */
    readonly reviews: Array<Review>;
    /**
     *
     * @type {boolean}
     * @memberof LifecycleIteration
     */
    readonly userCanReview: boolean;
    /**
     *
     * @type {Array<ReviewerGroup>}
     * @memberof LifecycleIteration
     */
    readonly reviewerGroups: Array<ReviewerGroup>;
    /**
     *
     * @type {number}
     * @memberof LifecycleIteration
     */
    readonly minReviewers: number;
    /**
     *
     * @type {Array<ReviewerUser>}
     * @memberof LifecycleIteration
     */
    readonly reviewers: Array<ReviewerUser>;
}
/**
 * Check if a given object implements the LifecycleIteration interface.
 */
export declare function instanceOfLifecycleIteration(value: object): value is LifecycleIteration;
export declare function LifecycleIterationFromJSON(json: any): LifecycleIteration;
export declare function LifecycleIterationFromJSONTyped(json: any, ignoreDiscriminator: boolean): LifecycleIteration;
export declare function LifecycleIterationToJSON(json: any): LifecycleIteration;
export declare function LifecycleIterationToJSONTyped(value?: Omit<LifecycleIteration, 'id' | 'object_id' | 'object_verbose' | 'object_admin_url' | 'state' | 'opened_on' | 'grace_period_end' | 'next_review_date' | 'reviews' | 'user_can_review' | 'reviewer_groups' | 'min_reviewers' | 'reviewers'> | null, ignoreDiscriminator?: boolean): any;
//# sourceMappingURL=LifecycleIteration.d.ts.map