/**
 * Type Guard Utilities
 *
 * Generic type guard functions for data validation and type checking.
 * These are shared utilities used across the codebase.
 */
/**
 * Check if an object has a specific property
 */
export declare function hasProperty<K extends string>(obj: unknown, key: K): obj is Record<K, unknown>;
/**
 * Check if a value is a non-null object
 */
export declare function isNonNullObject(value: unknown): value is Record<string, unknown>;
/**
 * Check if a value is an array
 */
export declare function isArray<T>(value: unknown): value is T[];
/**
 * Check if a value is a string
 */
export declare function isString(value: unknown): value is string;
/**
 * Check if a value is a number
 */
export declare function isNumber(value: unknown): value is number;
/**
 * Check if a value is a boolean
 */
export declare function isBoolean(value: unknown): value is boolean;
/**
 * Type guard for WidgetPosition
 */
export declare function isWidgetPosition(value: unknown): value is 'bottom_left' | 'bottom_right' | 'top_left' | 'top_right';
/**
 * Type guard for WidgetMode
 */
export declare function isWidgetMode(value: unknown): value is 'ai' | 'live' | 'hybrid';
/**
 * Check if a value is a plain object (not null, not array)
 */
export declare function isObject(value: unknown): value is Record<string, unknown>;
import type { TourData, TourStepData, WidgetSettingsData } from '../sdk';
/**
 * Type guard for WidgetSettingsData
 */
export declare function isWidgetSettingsData(data: unknown): data is WidgetSettingsData;
/**
 * Type guard for TourStepData
 */
export declare function isTourStepData(data: unknown): data is TourStepData;
/**
 * Type guard for array of TourStepData
 */
export declare function isTourStepDataArray(data: unknown): data is TourStepData[];
/**
 * Type guard for TourData
 */
export declare function isTourData(data: unknown): data is TourData;
/**
 * Type guard for array of TourData
 */
export declare function isTourDataArray(data: unknown): data is TourData[];
/**
 * Type guard for tour answer with steps property
 */
export declare function isTourAnswerWithSteps(answer: unknown): answer is {
    steps: unknown;
};
/**
 * Type guard for error response body
 */
export interface ErrorResponseBody {
    error?: string;
    message?: string;
}
export declare function isErrorResponseBody(body: unknown): body is ErrorResponseBody;
/**
 * Type guard for HTMLElement
 */
export declare function isHTMLElement(element: Element | null): element is HTMLElement;
/**
 * Type guard for HTMLInputElement
 */
export declare function isHTMLInputElement(element: Element | EventTarget | null): element is HTMLInputElement;
/**
 * Type guard for HTMLTextAreaElement
 */
export declare function isHTMLTextAreaElement(element: Element | EventTarget | null): element is HTMLTextAreaElement;
/**
 * Type guard for HTMLButtonElement
 */
export declare function isHTMLButtonElement(element: Element | null): element is HTMLButtonElement;
/**
 * Type guard for HTMLSelectElement
 */
export declare function isHTMLSelectElement(element: Element | null): element is HTMLSelectElement;
/**
 * Type guard for HTMLScriptElement
 */
export declare function isHTMLScriptElement(element: Element | null): element is HTMLScriptElement;
/**
 * Type guard for EventTarget as HTMLElement
 */
export declare function isHTMLElementEventTarget(target: EventTarget | null): target is HTMLElement;
/**
 * Check if code is running in a browser environment
 */
export declare function isBrowser(): boolean;
//# sourceMappingURL=validation.d.ts.map