import * as z from "zod";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
import { UserEvent, UserEvent$Outbound } from "./userevent.js";
export type ListUserEventsRequest = {
    /**
     * Maximum number of items which may be returned.
     */
    limit?: number | undefined;
    /**
     * Timestamp to only include items created since then.
     */
    since?: string | undefined;
    /**
     * Timestamp to only include items created until then.
     */
    until?: string | undefined;
    /**
     * Comma-delimited list of event \"types\" to filter the results by.
     */
    types?: string | undefined;
    /**
     * Deprecated. Use `principalId` instead. If `principalId` and `userId` both exist, `principalId` will be used.
     */
    userId?: string | undefined;
    /**
     * When retrieving events for a Team, the `principalId` parameter may be specified to filter events generated by a specific principal.
     */
    principalId?: string | undefined;
    /**
     * When set to `true`, the response will include the `payload` field for each event.
     */
    withPayload?: string | undefined;
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
};
/**
 * Successful response.
 */
export type ListUserEventsResponseBody = {
    /**
     * Array of events generated by the User.
     */
    events: Array<UserEvent>;
};
/** @internal */
export declare const ListUserEventsRequest$inboundSchema: z.ZodType<ListUserEventsRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type ListUserEventsRequest$Outbound = {
    limit?: number | undefined;
    since?: string | undefined;
    until?: string | undefined;
    types?: string | undefined;
    userId?: string | undefined;
    principalId?: string | undefined;
    withPayload?: string | undefined;
    teamId?: string | undefined;
    slug?: string | undefined;
};
/** @internal */
export declare const ListUserEventsRequest$outboundSchema: z.ZodType<ListUserEventsRequest$Outbound, z.ZodTypeDef, ListUserEventsRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ListUserEventsRequest$ {
    /** @deprecated use `ListUserEventsRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ListUserEventsRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `ListUserEventsRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ListUserEventsRequest$Outbound, z.ZodTypeDef, ListUserEventsRequest>;
    /** @deprecated use `ListUserEventsRequest$Outbound` instead. */
    type Outbound = ListUserEventsRequest$Outbound;
}
export declare function listUserEventsRequestToJSON(listUserEventsRequest: ListUserEventsRequest): string;
export declare function listUserEventsRequestFromJSON(jsonString: string): SafeParseResult<ListUserEventsRequest, SDKValidationError>;
/** @internal */
export declare const ListUserEventsResponseBody$inboundSchema: z.ZodType<ListUserEventsResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type ListUserEventsResponseBody$Outbound = {
    events: Array<UserEvent$Outbound>;
};
/** @internal */
export declare const ListUserEventsResponseBody$outboundSchema: z.ZodType<ListUserEventsResponseBody$Outbound, z.ZodTypeDef, ListUserEventsResponseBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ListUserEventsResponseBody$ {
    /** @deprecated use `ListUserEventsResponseBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ListUserEventsResponseBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `ListUserEventsResponseBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ListUserEventsResponseBody$Outbound, z.ZodTypeDef, ListUserEventsResponseBody>;
    /** @deprecated use `ListUserEventsResponseBody$Outbound` instead. */
    type Outbound = ListUserEventsResponseBody$Outbound;
}
export declare function listUserEventsResponseBodyToJSON(listUserEventsResponseBody: ListUserEventsResponseBody): string;
export declare function listUserEventsResponseBodyFromJSON(jsonString: string): SafeParseResult<ListUserEventsResponseBody, SDKValidationError>;
//# sourceMappingURL=listusereventsop.d.ts.map