import { Handler, InvalidHandler, UnknownHandler } from 'zwitch';
type Options<Invalid extends InvalidHandler = InvalidHandler, Unknown extends UnknownHandler = UnknownHandler, Handlers extends Record<string, Handler> = Record<string, Handler>> = {
    handlers: Handlers;
    invalid: Invalid;
    unknown: Unknown;
};
/**
 * Handle values based on a field.
 */
export declare function zwitchFunc<Invalid extends InvalidHandler = InvalidHandler, Unknown extends UnknownHandler = UnknownHandler, Handlers extends Record<string, Handler> = Record<string, Handler>>(key: string, options: Options<Invalid, Unknown, Handlers>): {
    handlers: Handlers;
    invalid: Invalid;
    unknown: Unknown;
    (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<Handlers[keyof Handlers]>;
    (...parameters: Parameters<Unknown>): ReturnType<Unknown>;
};
export {};
