import { z } from "zod";
import { EntityDefinition, Filters } from "./types/entity";
export declare const generateAttributeValues: (patch: Record<string, unknown>, prefix?: string) => {};
export declare const generateAttributeNames: (patch: Record<string, unknown>, prefix?: string) => {};
export declare const buildValue: (value: any) => any;
export declare const generateQueryExpression: <D extends EntityDefinition<z.ZodObject>>(key: Record<string, unknown>, filters?: Filters<D>) => {
    KeyConditionExpression: string | undefined;
    FilterExpression: string | undefined;
    ExpressionAttributeNames: {
        [x: string]: string;
    };
    ExpressionAttributeValues: {
        [x: string]: unknown;
    };
};
export declare const generateFilterExpression: <D extends EntityDefinition<z.ZodObject>>(filters?: Filters<D>, prefix?: string) => {
    FilterExpression?: never;
    ExpressionAttributeNames?: never;
    ExpressionAttributeValues?: never;
} | {
    FilterExpression: string;
    ExpressionAttributeNames: Record<string, string>;
    ExpressionAttributeValues: Record<string, unknown>;
};
export declare const generateUpdateExpression: (patch: Record<string, unknown>, doNotOverwrite?: string[]) => {
    UpdateExpression: string;
    ExpressionAttributeNames: {};
    ExpressionAttributeValues: {};
};
