import { ResourceBase } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class ResourceInstance {
    ResourceDataContainer: ResourceDataContainer;
    Id: Value<string>;
    Name: Value<string>;
    constructor(properties: ResourceInstance);
}
export declare class LocalVolumeResourceData {
    SourcePath: Value<string>;
    DestinationPath: Value<string>;
    GroupOwnerSetting?: GroupOwnerSetting;
    constructor(properties: LocalVolumeResourceData);
}
export declare class ResourceDataContainer {
    SecretsManagerSecretResourceData?: SecretsManagerSecretResourceData;
    SageMakerMachineLearningModelResourceData?: SageMakerMachineLearningModelResourceData;
    LocalVolumeResourceData?: LocalVolumeResourceData;
    LocalDeviceResourceData?: LocalDeviceResourceData;
    S3MachineLearningModelResourceData?: S3MachineLearningModelResourceData;
    constructor(properties: ResourceDataContainer);
}
export declare class SecretsManagerSecretResourceData {
    ARN: Value<string>;
    AdditionalStagingLabelsToDownload?: List<Value<string>>;
    constructor(properties: SecretsManagerSecretResourceData);
}
export declare class ResourceDownloadOwnerSetting {
    GroupOwner: Value<string>;
    GroupPermission: Value<string>;
    constructor(properties: ResourceDownloadOwnerSetting);
}
export declare class SageMakerMachineLearningModelResourceData {
    OwnerSetting?: ResourceDownloadOwnerSetting;
    DestinationPath: Value<string>;
    SageMakerJobArn: Value<string>;
    constructor(properties: SageMakerMachineLearningModelResourceData);
}
export declare class S3MachineLearningModelResourceData {
    OwnerSetting?: ResourceDownloadOwnerSetting;
    DestinationPath: Value<string>;
    S3Uri: Value<string>;
    constructor(properties: S3MachineLearningModelResourceData);
}
export declare class ResourceDefinitionVersion {
    Resources: List<ResourceInstance>;
    constructor(properties: ResourceDefinitionVersion);
}
export declare class LocalDeviceResourceData {
    SourcePath: Value<string>;
    GroupOwnerSetting?: GroupOwnerSetting;
    constructor(properties: LocalDeviceResourceData);
}
export declare class GroupOwnerSetting {
    AutoAddGroupOwner: Value<boolean>;
    GroupOwner?: Value<string>;
    constructor(properties: GroupOwnerSetting);
}
export interface ResourceDefinitionProperties {
    InitialVersion?: ResourceDefinitionVersion;
    Tags?: MapOf<any>;
    Name: Value<string>;
}
export default class Inner_ResourceDefinition extends ResourceBase<ResourceDefinitionProperties> {
    static ResourceInstance: typeof ResourceInstance;
    static LocalVolumeResourceData: typeof LocalVolumeResourceData;
    static ResourceDataContainer: typeof ResourceDataContainer;
    static SecretsManagerSecretResourceData: typeof SecretsManagerSecretResourceData;
    static ResourceDownloadOwnerSetting: typeof ResourceDownloadOwnerSetting;
    static SageMakerMachineLearningModelResourceData: typeof SageMakerMachineLearningModelResourceData;
    static S3MachineLearningModelResourceData: typeof S3MachineLearningModelResourceData;
    static ResourceDefinitionVersion: typeof ResourceDefinitionVersion;
    static LocalDeviceResourceData: typeof LocalDeviceResourceData;
    static GroupOwnerSetting: typeof GroupOwnerSetting;
    constructor(properties: ResourceDefinitionProperties);
}
