import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as meraki from "@pulumi/meraki";
 *
 * const example = new meraki.networks.CameraQualityRetentionProfiles("example", {
 *     name: "Sample quality retention profile",
 *     networkId: "string",
 * });
 * export const merakiNetworksCameraQualityRetentionProfilesExample = example;
 * ```
 *
 * ## Import
 *
 * ```sh
 * $ pulumi import meraki:networks/cameraQualityRetentionProfiles:CameraQualityRetentionProfiles example "network_id,quality_retention_profile_id"
 * ```
 */
export declare class CameraQualityRetentionProfiles extends pulumi.CustomResource {
    /**
     * Get an existing CameraQualityRetentionProfiles 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?: CameraQualityRetentionProfilesState, opts?: pulumi.CustomResourceOptions): CameraQualityRetentionProfiles;
    /**
     * Returns true if the given object is an instance of CameraQualityRetentionProfiles.  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 CameraQualityRetentionProfiles;
    /**
     * Whether or not to record audio. Can be either true or false. Defaults to false.
     */
    readonly audioRecordingEnabled: pulumi.Output<boolean>;
    /**
     * Create redundant video backup using Cloud Archive. Can be either true or false. Defaults to false.
     */
    readonly cloudArchiveEnabled: pulumi.Output<boolean>;
    /**
     * The maximum number of days for which the data will be stored, or 'null' to keep data until storage space runs out. If the former, it can be one of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 30, 60, 90] days.
     */
    readonly maxRetentionDays: pulumi.Output<number>;
    /**
     * Deletes footage older than 3 days in which no motion was detected. Can be either true or false. Defaults to false. This setting does not apply to MV2 cameras.
     */
    readonly motionBasedRetentionEnabled: pulumi.Output<boolean>;
    /**
     * The version of the motion detector that will be used by the camera. Only applies to Gen 2 cameras. Defaults to v2.
     */
    readonly motionDetectorVersion: pulumi.Output<number>;
    /**
     * The name of the new profile. Must be unique. This parameter is required.
     */
    readonly name: pulumi.Output<string>;
    /**
     * networkId path parameter. Network ID
     */
    readonly networkId: pulumi.Output<string>;
    /**
     * qualityRetentionProfileId path parameter. Quality retention profile ID
     */
    readonly qualityRetentionProfileId: pulumi.Output<string>;
    /**
     * Disable features that require additional bandwidth such as Motion Recap. Can be either true or false. Defaults to false. This setting does not apply to MV2 cameras.
     */
    readonly restrictedBandwidthModeEnabled: pulumi.Output<boolean>;
    /**
     * Schedule for which this camera will record video, or 'null' to always record.
     */
    readonly scheduleId: pulumi.Output<string>;
    /**
     * Video quality and resolution settings for all the camera models.
     */
    readonly videoSettings: pulumi.Output<outputs.networks.CameraQualityRetentionProfilesVideoSettings>;
    /**
     * Create a CameraQualityRetentionProfiles 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: CameraQualityRetentionProfilesArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering CameraQualityRetentionProfiles resources.
 */
export interface CameraQualityRetentionProfilesState {
    /**
     * Whether or not to record audio. Can be either true or false. Defaults to false.
     */
    audioRecordingEnabled?: pulumi.Input<boolean>;
    /**
     * Create redundant video backup using Cloud Archive. Can be either true or false. Defaults to false.
     */
    cloudArchiveEnabled?: pulumi.Input<boolean>;
    /**
     * The maximum number of days for which the data will be stored, or 'null' to keep data until storage space runs out. If the former, it can be one of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 30, 60, 90] days.
     */
    maxRetentionDays?: pulumi.Input<number>;
    /**
     * Deletes footage older than 3 days in which no motion was detected. Can be either true or false. Defaults to false. This setting does not apply to MV2 cameras.
     */
    motionBasedRetentionEnabled?: pulumi.Input<boolean>;
    /**
     * The version of the motion detector that will be used by the camera. Only applies to Gen 2 cameras. Defaults to v2.
     */
    motionDetectorVersion?: pulumi.Input<number>;
    /**
     * The name of the new profile. Must be unique. This parameter is required.
     */
    name?: pulumi.Input<string>;
    /**
     * networkId path parameter. Network ID
     */
    networkId?: pulumi.Input<string>;
    /**
     * qualityRetentionProfileId path parameter. Quality retention profile ID
     */
    qualityRetentionProfileId?: pulumi.Input<string>;
    /**
     * Disable features that require additional bandwidth such as Motion Recap. Can be either true or false. Defaults to false. This setting does not apply to MV2 cameras.
     */
    restrictedBandwidthModeEnabled?: pulumi.Input<boolean>;
    /**
     * Schedule for which this camera will record video, or 'null' to always record.
     */
    scheduleId?: pulumi.Input<string>;
    /**
     * Video quality and resolution settings for all the camera models.
     */
    videoSettings?: pulumi.Input<inputs.networks.CameraQualityRetentionProfilesVideoSettings>;
}
/**
 * The set of arguments for constructing a CameraQualityRetentionProfiles resource.
 */
export interface CameraQualityRetentionProfilesArgs {
    /**
     * Whether or not to record audio. Can be either true or false. Defaults to false.
     */
    audioRecordingEnabled?: pulumi.Input<boolean>;
    /**
     * Create redundant video backup using Cloud Archive. Can be either true or false. Defaults to false.
     */
    cloudArchiveEnabled?: pulumi.Input<boolean>;
    /**
     * The maximum number of days for which the data will be stored, or 'null' to keep data until storage space runs out. If the former, it can be one of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 30, 60, 90] days.
     */
    maxRetentionDays?: pulumi.Input<number>;
    /**
     * Deletes footage older than 3 days in which no motion was detected. Can be either true or false. Defaults to false. This setting does not apply to MV2 cameras.
     */
    motionBasedRetentionEnabled?: pulumi.Input<boolean>;
    /**
     * The version of the motion detector that will be used by the camera. Only applies to Gen 2 cameras. Defaults to v2.
     */
    motionDetectorVersion?: pulumi.Input<number>;
    /**
     * The name of the new profile. Must be unique. This parameter is required.
     */
    name?: pulumi.Input<string>;
    /**
     * networkId path parameter. Network ID
     */
    networkId: pulumi.Input<string>;
    /**
     * qualityRetentionProfileId path parameter. Quality retention profile ID
     */
    qualityRetentionProfileId?: pulumi.Input<string>;
    /**
     * Disable features that require additional bandwidth such as Motion Recap. Can be either true or false. Defaults to false. This setting does not apply to MV2 cameras.
     */
    restrictedBandwidthModeEnabled?: pulumi.Input<boolean>;
    /**
     * Schedule for which this camera will record video, or 'null' to always record.
     */
    scheduleId?: pulumi.Input<string>;
    /**
     * Video quality and resolution settings for all the camera models.
     */
    videoSettings?: pulumi.Input<inputs.networks.CameraQualityRetentionProfilesVideoSettings>;
}
