import type { DefaultComponentProps, DefaultRootProps, Data } from "@measured/puck";
type PropTransform<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultRootProps = DefaultRootProps> = Partial<{
    [ComponentName in keyof Props]: (props: Props[ComponentName] & {
        [key: string]: any;
    }) => Props[ComponentName];
} & {
    root: (props: RootProps & {
        [key: string]: any;
    }) => RootProps;
}>;
export declare function transformProps<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultRootProps = DefaultRootProps>(data: Data, propTransforms: PropTransform<Props, RootProps>): Promise<Data>;
import type { OberonConfig, OberonPage, OberonPageMeta, TransformResult, TransformVersions } from "../lib/dtd";
export declare function applyTransforms({ transforms, pages, getPageData, updatePageData, }: {
    transforms: PropTransform;
    pages: OberonPageMeta[];
    getPageData: (key: string) => Promise<Data | null>;
    updatePageData: (data: OberonPage) => Promise<void>;
}): AsyncGenerator<TransformResult, void, void>;
export declare function getComponentTransformVersions({ components }: OberonConfig): Record<string, number>;
export declare function getTransforms(currentTransformVersions: TransformVersions | undefined, { components }: OberonConfig): {
    components: TransformVersions;
    transforms: false | Partial<{
        [x: string]: (props: any) => any;
    } & {
        root: (props: import("@measured/puck").DefaultRootFieldProps & {
            children: import("react").ReactNode;
        } & {
            puck: import("@measured/puck").PuckContext;
            editMode?: boolean;
        } & {
            [key: string]: any;
        }) => DefaultRootProps;
    }>;
};
export {};
//# sourceMappingURL=transforms.d.ts.map