import type { UserRole } from '@donotdev/core/server';
/** Request payload for deleting a single entity by ID. */
export type DeleteEntityRequest = {
    id: string;
};
/**
 * Reference metadata for entity deletion checking
 */
export interface ReferenceMetadata {
    /** Fields in THIS entity that reference OTHER entities */
    outgoing?: Array<{
        field: string;
        targetCollection: string;
        required?: boolean;
    }>;
    /** Fields in OTHER entities that reference THIS entity */
    incoming?: Array<{
        sourceCollection: string;
        sourceField: string;
        required?: boolean;
    }>;
}
/**
 * Create a Supabase Edge Function handler for deleting an entity.
 *
 * @param collection - The Supabase table name
 * @param requiredRole - Minimum role required for this operation
 * @param referenceMetadata - Optional reference metadata for deletion checking
 * @returns A `(req: Request) => Promise<Response>` handler for Deno.serve
 */
export declare function createSupabaseDeleteEntity(collection: string, requiredRole: UserRole, referenceMetadata?: ReferenceMetadata): (req: Request) => Promise<Response>;
