import { type UnknownRecord, type ArrayTransform } from "@synnaxlabs/x";
export interface ArrayTransformEntry<E extends UnknownRecord = UnknownRecord> {
    transform: ArrayTransform<E>;
    key: string;
    priority: number;
}
export interface UseTransformsProps<E extends UnknownRecord = UnknownRecord> {
    transforms?: Array<ArrayTransformEntry<E>>;
}
export interface UseTransformsReturn<E extends UnknownRecord = UnknownRecord> {
    transform: ArrayTransform<E>;
    setTransform: (key: string, t: ArrayTransform<E>, priority?: number) => void;
    deleteTransform: (key: string) => void;
}
export declare const useTransforms: <E extends UnknownRecord>({ transforms: initialTransforms, }: UseTransformsProps<E>) => UseTransformsReturn<E>;
