import type { BaseData, ServerConfig } from "../../types/config.ts";
import type { Promisable } from "../../types/possible-promise.ts";
interface SetupItemMessages<T, P> {
    noItem: string;
    middlewareKey: keyof NonNullable<ServerConfig["middleware"]>;
    pending: (data: T, props: P) => string;
}
export declare function createHandlerSetup<T extends BaseData<unknown>, D, P extends unknown[] = [D]>(options: {
    itemMessages: ((d: D) => SetupItemMessages<T, P>) | SetupItemMessages<T, P>;
    findItem: (d: D, i: T[]) => [T, P] | undefined;
}): (i: T[]) => (d: D, m?: (...props: P) => Promisable<unknown[]>, k?: keyof NonNullable<T["exports"]>) => Promise<void>;
export {};
