import { Test } from 'nodeunit';
declare const _default: {
    'all resources derive from Resource, which derives from Entity'(test: Test): void;
    'resources must reside within a Stack and fail upon creation if not'(test: Test): void;
    'all entities have a logical ID calculated based on their full path in the tree'(test: Test): void;
    'resource.props can only be accessed by derived classes'(test: Test): void;
    'resource attributes can be retrieved using getAtt(s) or attribute properties'(test: Test): void;
    'ARN-type resource attributes have some common functionality'(test: Test): void;
    'resource.addDependency(e) can be used to add a DependsOn on another resource'(test: Test): void;
    'if addDependency is called multiple times with the same resource, it will only appear once'(test: Test): void;
    'conditions can be attached to a resource'(test: Test): void;
    'creation/update/updateReplace/deletion policies can be set on a resource'(test: Test): void;
    'update policies UseOnlineResharding flag'(test: Test): void;
    'metadata can be set on a resource'(test: Test): void;
    'the "type" property is required when creating a resource'(test: Test): void;
    'removal policy is a high level abstraction of deletion policy used by l2'(test: Test): void;
    'addDependency adds all dependencyElements of dependent constructs'(test: Test): void;
    'resource.ref returns the {Ref} token'(test: Test): void;
    overrides: {
        'addOverride(p, v) allows assigning arbitrary values to synthesized resource definitions'(test: Test): void;
        'addOverride(p, null) will assign an "null" value'(test: Test): void;
        'addOverride(p, undefined) can be used to delete a value'(test: Test): void;
        'addOverride(p, undefined) will not create empty trees'(test: Test): void;
        'addDeletionOverride(p) and addPropertyDeletionOverride(pp) are sugar `undefined`'(test: Test): void;
        'addOverride(p, v) will overwrite any non-objects along the path'(test: Test): void;
        'addPropertyOverride(pp, v) is a sugar for overriding properties'(test: Test): void;
        'overrides are applied after render'(test: Test): void;
        'using mutable properties': {
            'can be used by derived classes to specify overrides before render()'(test: Test): void;
            '"properties" is undefined'(test: Test): void;
            '"properties" is empty'(test: Test): void;
        };
    };
    '"aws:cdk:path" metadata is added if "aws:cdk:path-metadata" context is set to true'(test: Test): void;
    'cross-stack construct dependencies are not rendered but turned into stack dependencies'(test: Test): void;
    'enableVersionUpgrade can be set on a resource'(test: Test): void;
};
export = _default;
