import type { TourClassNames, TourControls } from "../types"; import type { DeepReadonly, ReadonlyStepProps, StepProps } from "./types"; /** * Creates a shallow clone of step properties with deep clones of nested objects. * @param props The properties to clone. * @returns A mutable copy of the properties. */ export declare function cloneStepProps(props: ReadonlyStepProps): StepProps; /** Copies `controls` into frozen records, with frozen copies of their `keys`. */ export declare function cloneControls(controls: DeepReadonly | undefined): TourControls | undefined; /** * Copies `classNames` into a frozen record. Its class arrays are shared rather than copied: they are * typed readonly and nothing in the tour writes to them, and copying them costs bundle size. */ export declare function cloneClassNames(classNames: TourClassNames | undefined): TourClassNames | undefined; /** * Creates a deep-frozen copy of step properties. * @param props The properties to freeze. * @returns An immutable copy of the properties. */ export declare function freezeStepProps(props: ReadonlyStepProps): ReadonlyStepProps;