import { InputField, ModifiedResponse, RequestClient } from '@segment/actions-core';
import { Settings } from './generated-types';
import { PublishRequestUnit } from './unit';
import { PublishRequestAttribute } from './attribute';
import { PublishRequestGoal } from './goal';
import { Data } from 'ws';
export interface PublishRequestEvent {
    historic?: boolean;
    publishedAt: number;
    units: PublishRequestUnit[];
    goals?: PublishRequestGoal[];
    exposures?: {
        name: string;
        variant: number;
        exposedAt: number;
        assigned: boolean;
        eligible: boolean;
    }[];
    attributes?: PublishRequestAttribute[];
}
export interface DefaultPayload {
    agent?: string;
    application?: string;
}
export declare const defaultEventFields: Record<string, InputField>;
export declare function sendEvent(request: RequestClient, settings: Settings, event: PublishRequestEvent, agent?: string, application?: string): Promise<ModifiedResponse<Data>>;
