import * as Schema from "effect/Schema";
import { BadRequest, Forbidden, NotFound } from "../../errors.ts";
export declare const PersonsPropertiesAtTimeRetrieveInput: Schema.Struct<{
    readonly project_id: Schema.String;
    readonly debug: Schema.optional<Schema.Boolean>;
    readonly distinct_id: Schema.optional<Schema.String>;
    readonly format: Schema.optional<Schema.Literals<readonly ["csv", "json"]>>;
    readonly include_set_once: Schema.optional<Schema.Boolean>;
    readonly person_id: Schema.optional<Schema.String>;
    readonly timestamp: Schema.String;
}>;
export type PersonsPropertiesAtTimeRetrieveInput = typeof PersonsPropertiesAtTimeRetrieveInput.Type;
export declare const PersonsPropertiesAtTimeRetrieveOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.Number>;
    readonly name: Schema.optional<Schema.String>;
    readonly distinct_ids: Schema.optional<Schema.$Array<Schema.String>>;
    readonly properties: Schema.optional<Schema.$Record<Schema.String, Schema.NullOr<Schema.String>>>;
    readonly created_at: Schema.optional<Schema.String>;
    readonly uuid: Schema.optional<Schema.String>;
    readonly last_seen_at: Schema.optional<Schema.NullOr<Schema.String>>;
    readonly point_in_time_metadata: Schema.optional<Schema.Struct<{
        readonly queried_timestamp: Schema.optional<Schema.String>;
        readonly include_set_once: Schema.optional<Schema.Boolean>;
        readonly distinct_id_used: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly person_id_used: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly query_mode: Schema.optional<Schema.String>;
        readonly distinct_ids_queried: Schema.optional<Schema.$Array<Schema.String>>;
        readonly distinct_ids_count: Schema.optional<Schema.Number>;
    }>>;
    readonly debug: Schema.optional<Schema.Struct<{
        readonly query: Schema.optional<Schema.String>;
        readonly params: Schema.optional<Schema.$Record<Schema.String, Schema.Unknown>>;
        readonly events_found: Schema.optional<Schema.Number>;
        readonly events: Schema.optional<Schema.$Array<Schema.$Record<Schema.String, Schema.Unknown>>>;
        readonly error: Schema.optional<Schema.String>;
    }>>;
}>;
export type PersonsPropertiesAtTimeRetrieveOutput = typeof PersonsPropertiesAtTimeRetrieveOutput.Type;
/**
 * Get person properties as they existed at a specific point in time.
 * This endpoint reconstructs person properties by querying ClickHouse events
 * for $set and $set_once operations up to the specified timestamp.
 * Query parameters:
 * - distinct_id: The distinct_id of the person
 * - timestamp: ISO datetime string for the point in time (e.g., "2023-06-15T14:30:00Z")
 * - include_set_once: Whether to handle $set_once operations (default: false)
 * - debug: Whether to include debug information with raw events (default: false)
 *
 * @param debug - Whether to include debug information with raw events (only works when DEBUG=True, default: false)
 * @param distinct_id - The distinct_id of the person (mutually exclusive with person_id)
 * @param include_set_once - Whether to handle $set_once operations (default: false)
 * @param person_id - The person_id (UUID) to build properties for (mutually exclusive with distinct_id)
 * @param project_id - Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
 * @param timestamp - ISO datetime string for the point in time (e.g., '2023-06-15T14:30:00Z')
 */
export declare const personsPropertiesAtTimeRetrieve: import("@distilled.cloud/core/client").OperationMethod<{
    readonly project_id: string;
    readonly debug?: boolean | undefined;
    readonly distinct_id?: string | undefined;
    readonly format?: "csv" | "json" | undefined;
    readonly include_set_once?: boolean | undefined;
    readonly person_id?: string | undefined;
    readonly timestamp: string;
}, {
    readonly id?: number | undefined;
    readonly name?: string | undefined;
    readonly distinct_ids?: readonly string[] | undefined;
    readonly properties?: {
        readonly [x: string]: string | null;
    } | undefined;
    readonly created_at?: string | undefined;
    readonly uuid?: string | undefined;
    readonly last_seen_at?: string | null | undefined;
    readonly point_in_time_metadata?: {
        readonly queried_timestamp?: string | undefined;
        readonly include_set_once?: boolean | undefined;
        readonly distinct_id_used?: string | null | undefined;
        readonly person_id_used?: string | null | undefined;
        readonly query_mode?: string | undefined;
        readonly distinct_ids_queried?: readonly string[] | undefined;
        readonly distinct_ids_count?: number | undefined;
    } | undefined;
    readonly debug?: {
        readonly query?: string | undefined;
        readonly params?: {
            readonly [x: string]: unknown;
        } | undefined;
        readonly events_found?: number | undefined;
        readonly events?: readonly {
            readonly [x: string]: unknown;
        }[] | undefined;
        readonly error?: string | undefined;
    } | undefined;
}, BadRequest | Forbidden | NotFound, import("~/credentials.ts").Credentials>;
//# sourceMappingURL=personsPropertiesAtTimeRetrieve.d.ts.map