import { BaseError } from 'make-error'; import { Rule, Static } from '../../core'; export declare class InvalidObjectError extends BaseError { constructor(); } export type PlainObject = { [key: string]: unknown; }; export declare function validateObject(input: unknown): PlainObject; type Schema = { [key: string]: Rule; }; type RequiredObject = { [K in keyof Schema]: Static; }; type PartialObject = { [K in keyof Schema]?: Static; }; type UnconstrainedObject = RequiredObject & PartialObject; export declare function object, Optional extends Schema = Record>(opts: { /** Defaults to empty object */ readonly required?: Required; /** Defaults to empty object */ readonly optional?: Optional; /** Defaults to false. Will bail on first error. */ readonly bail?: boolean; }): (input: unknown) => UnconstrainedObject; export {};