import type { Payload } from './generated-types';
import { Settings } from '../generated-types';
import { RequestClient } from '@segment/actions-core';
import { ValidPayload, EventItemWithProps } from './types';
import { OptimizelyWebClient } from './client';
export declare function send(request: RequestClient, settings: Settings, payload: Payload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
export declare function validate(payload: Payload): ValidPayload;
export declare function validatePropType(obj: Record<string, unknown> | undefined, typesToCheck?: Array<'string' | 'boolean' | 'number'>): boolean;
export declare function getEventid(client: OptimizelyWebClient, payload: ValidPayload): Promise<string>;
export declare function cleanKey(shouldSnakeCaseEventKey: boolean, key?: string): string | undefined;
export declare function searchDefinedEvents(client: OptimizelyWebClient, key: string): Promise<string | undefined>;
export declare function validatePropertyDefinitions(client: OptimizelyWebClient, event_id: string, payload: ValidPayload): Promise<void>;
export declare function defineNewEvent(client: OptimizelyWebClient, key: string, payload: ValidPayload): Promise<EventItemWithProps>;
