import VSSInterfaces = require("../interfaces/common/VSSInterfaces"); /** * The full policy configuration with settings. */ export interface PolicyConfiguration extends VersionedPolicyConfigurationRef { /** * The links to other objects related to this object. */ _links?: any; /** * A reference to the identity that created the policy. */ createdBy?: VSSInterfaces.IdentityRef; /** * The date and time when the policy was created. */ createdDate?: Date; /** * Indicates whether the policy is blocking. */ isBlocking: boolean; /** * Indicates whether the policy has been (soft) deleted. */ isDeleted?: boolean; /** * Indicates whether the policy is enabled. */ isEnabled: boolean; /** * If set, this policy requires "Manage Enterprise Policies" permission to create, edit, or delete. */ isEnterpriseManaged?: boolean; /** * The policy configuration settings. */ settings: any; } /** * Policy configuration reference. */ export interface PolicyConfigurationRef { /** * The policy configuration ID. */ id?: number; /** * The policy configuration type. */ type?: PolicyTypeRef; /** * The URL where the policy configuration can be retrieved. */ url?: string; } /** * This record encapsulates the current state of a policy as it applies to one specific pull request. Each pull request has a unique PolicyEvaluationRecord for each pull request which the policy applies to. */ export interface PolicyEvaluationRecord { /** * Links to other related objects */ _links?: any; /** * A string which uniquely identifies the target of a policy evaluation. */ artifactId?: string; /** * Time when this policy finished evaluating on this pull request. */ completedDate?: Date; /** * Contains all configuration data for the policy which is being evaluated. */ configuration?: PolicyConfiguration; /** * Internal context data of this policy evaluation. */ context?: any; /** * Guid which uniquely identifies this evaluation record (one policy running on one pull request). */ evaluationId?: string; /** * Time when this policy was first evaluated on this pull request. */ startedDate?: Date; /** * Status of the policy (Running, Approved, Failed, etc.) */ status?: PolicyEvaluationStatus; } /** * Status of a policy which is running against a specific pull request. */ export declare enum PolicyEvaluationStatus { /** * The policy is either queued to run, or is waiting for some event before progressing. */ Queued = 0, /** * The policy is currently running. */ Running = 1, /** * The policy has been fulfilled for this pull request. */ Approved = 2, /** * The policy has rejected this pull request. */ Rejected = 3, /** * The policy does not apply to this pull request. */ NotApplicable = 4, /** * The policy has encountered an unexpected error. */ Broken = 5 } /** * User-friendly policy type with description (used for querying policy types). */ export interface PolicyType extends PolicyTypeRef { /** * The links to other objects related to this object. */ _links?: any; /** * Detailed description of the policy type. */ description?: string; } /** * Policy type reference. */ export interface PolicyTypeRef { /** * Display name of the policy type. */ displayName?: string; /** * The policy type ID. */ id: string; /** * The URL where the policy type can be retrieved. */ url?: string; } /** * A particular revision for a policy configuration. */ export interface VersionedPolicyConfigurationRef extends PolicyConfigurationRef { /** * The policy configuration revision ID. */ revision?: number; } export declare var TypeInfo: { PolicyConfiguration: any; PolicyEvaluationRecord: any; PolicyEvaluationStatus: { enumValues: { queued: number; running: number; approved: number; rejected: number; notApplicable: number; broken: number; }; }; };