/// <reference types="cocos-api" />
/** Decorator for nested prefabs. */
export declare const nest: (type: {
    prototype: cc.Component;
} | {
    prototype: cc.Component;
}[]) => (target: any, propertyKey: string) => void;
export declare const nestSingle: (type: {
    prototype: cc.Component;
}) => (target: any, propertyKey: string) => void;
export declare const nestArray: (type: {
    prototype: cc.Component;
}) => (target: any, propertyKey: string) => void;
export declare class NestedPrefab extends cc.Component {
    static createNode(prefab: cc.Prefab): cc.Node | null;
    private instantiated;
    private view;
    private _prefab;
    prefab: cc.Prefab | null;
    private instantiate;
    private synchronize;
    onLoad(): void;
    update(): void;
    /** Creates a view using the current prefab. */
    createView(): cc.Node;
    getView(): cc.Node | null;
    /** Creates a view from the current prefab and add it to this. */
    private instantiateView;
    private setupView;
    private freeze;
    applySync(): void;
}
