import { type PolicySkeleton } from '../api/PoliciesApi'; import { type PolicySetSkeleton } from '../api/PolicySetApi'; import { type ResourceTypeSkeleton } from '../api/ResourceTypesApi'; import { type ScriptSkeleton } from '../api/ScriptApi'; import { State } from '../shared/State'; import { ExportMetaData } from './OpsTypes'; export type PolicySet = { /** * Create policy export template * @returns {PolicySetExportInterface} policy export interface */ createPolicySetExportTemplate(): PolicySetExportInterface; /** * Read all policy sets * @returns {Promise} a promise that resolves to an array of policy set objects */ readPolicySets(): Promise; /** * Read policy set * @param {string} policySetName policy set name * @returns {Promise} a promise that resolves to a policy set object */ readPolicySet(policySetName: string): Promise; createPolicySet(policySetData: PolicySetSkeleton, policySetName?: string): Promise; updatePolicySet(policySetData: PolicySetSkeleton, policySetName?: string): Promise; deletePolicySet(policySetName: string): Promise; /** * Export policy set * @param {string} policySetName policy set name * @param {PolicySetExportOptions} options export options * @returns {Promise} a promise that resolves to an PolicySetExportInterface object */ exportPolicySet(policySetName: string, options?: PolicySetExportOptions): Promise; /** * Export policy sets * @param {PolicySetExportOptions} options export options * @returns {Promise} a promise that resolves to an PolicySetExportInterface object */ exportPolicySets(options?: PolicySetExportOptions): Promise; /** * Import policy set * @param {string} policySetName policy set name * @param {PolicySetExportInterface} importData import data * @param {PolicySetImportOptions} options import options */ importPolicySet(policySetName: string, importData: PolicySetExportInterface, options?: PolicySetImportOptions): Promise; /** * Import first policy set * @param {PolicySetExportInterface} importData import data * @param {PolicySetImportOptions} options import options */ importFirstPolicySet(importData: PolicySetExportInterface, options?: PolicySetImportOptions): Promise; /** * Import policy sets * @param {PolicySetExportInterface} importData import data * @param {PolicySetImportOptions} options import options * @returns {any[]} The imported policy sets */ importPolicySets(importData: PolicySetExportInterface, options?: PolicySetImportOptions): Promise; /** * Get all policy sets * @returns {Promise} a promise that resolves to an array of policy set objects * @deprecated since v2.0.0 use {@link Policy.readPolicySets | readPolicySets} instead * ```javascript * readPolicySets(): Promise * ``` * @group Deprecated */ getPolicySets(): Promise; /** * Get policy set * @param {string} policySetName policy set name * @returns {Promise} a promise that resolves to a policy set object * @deprecated since v2.0.0 use {@link Policy.readPolicySet | readPolicySet} instead * ```javascript * readPolicySet(policySetName: string): Promise * ``` * @group Deprecated */ getPolicySet(policySetName: string): Promise; }; declare const _default: (state: State) => PolicySet; export default _default; export interface PolicySetExportInterface { meta?: ExportMetaData; script: Record; resourcetype: Record; policy: Record; policyset: Record; } /** * Application/policy set export options */ export interface PolicySetExportOptions { /** * Include any dependencies (policies, scripts, resource types). */ deps: boolean; /** * Include any prerequisites (policy sets, resource types). */ prereqs: boolean; /** * Use string arrays to store multi-line text in scripts. */ useStringArrays: boolean; } /** * Policy set import options */ export interface PolicySetImportOptions { /** * Include any dependencies (policies, scripts, resource types). */ deps: boolean; /** * Include any prerequisites (policy sets, resource types). */ prereqs: boolean; } /** * Create an empty export template * @returns {PolicySetExportInterface} an empty export template */ export declare function createPolicySetExportTemplate({ state, }: { state: State; }): PolicySetExportInterface; /** * Get all policy sets * @returns {Promise} a promise that resolves to an array of policy set objects */ export declare function readPolicySets({ state, }: { state: State; }): Promise; export declare function readPolicySet({ policySetName, state, }: { policySetName: string; state: State; }): Promise; export declare function createPolicySet({ policySetName, policySetData, state, }: { policySetName?: string; policySetData: PolicySetSkeleton; state: State; }): Promise; export declare function updatePolicySet({ policySetName, policySetData, state, }: { policySetName?: string; policySetData: PolicySetSkeleton; state: State; }): Promise; export declare function deletePolicySet({ policySetName, state, }: { policySetName: string; state: State; }): Promise; /** * Export policy set * @param {string} policySetName policy set name * @param {PolicySetExportOptions} options export options * @returns {Promise} a promise that resolves to an PolicySetExportInterface object */ export declare function exportPolicySet({ policySetName, options, state, }: { policySetName: string; options?: PolicySetExportOptions; state: State; }): Promise; /** * Export policy sets * @param {PolicySetExportOptions} options export options * @returns {Promise} a promise that resolves to an PolicySetExportInterface object */ export declare function exportPolicySets({ options, state, }: { options: PolicySetExportOptions; state: State; }): Promise; /** * Import policy set * @param {string} policySetName policy set name * @param {PolicySetExportInterface} importData import data * @param {PolicySetImportOptions} options import options */ export declare function importPolicySet({ policySetName, importData, options, state, }: { policySetName: string; importData: PolicySetExportInterface; options?: PolicySetImportOptions; state: State; }): Promise; /** * Import first policy set * @param {PolicySetExportInterface} importData import data * @param {PolicySetImportOptions} options import options */ export declare function importFirstPolicySet({ importData, options, state, }: { importData: PolicySetExportInterface; options?: PolicySetImportOptions; state: State; }): Promise; /** * Import policy sets * @param {PolicySetExportInterface} importData import data * @param {PolicySetImportOptions} options import options * @returns {any[]} The imported policy sets */ export declare function importPolicySets({ importData, options, state, }: { importData: PolicySetExportInterface; options?: PolicySetImportOptions; state: State; }): Promise; //# sourceMappingURL=PolicySetOps.d.ts.map