import * as Schema from "effect/Schema";
import { BadRequest, Forbidden, NotFound } from "../../errors.ts";
export declare const PersonsListInput: Schema.Struct<{
    readonly project_id: Schema.String;
    readonly distinct_id: Schema.optional<Schema.String>;
    readonly email: Schema.optional<Schema.String>;
    readonly format: Schema.optional<Schema.Literals<readonly ["csv", "json"]>>;
    readonly limit: Schema.optional<Schema.Number>;
    readonly offset: Schema.optional<Schema.Number>;
    readonly properties: Schema.optional<Schema.String>;
    readonly search: Schema.optional<Schema.String>;
}>;
export type PersonsListInput = typeof PersonsListInput.Type;
export declare const PersonsListOutput: Schema.Struct<{
    readonly next: Schema.optional<Schema.NullOr<Schema.String>>;
    readonly previous: Schema.optional<Schema.NullOr<Schema.String>>;
    readonly count: Schema.optional<Schema.Number>;
    readonly results: Schema.optional<Schema.$Array<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.Unknown>;
        readonly created_at: Schema.optional<Schema.String>;
        readonly uuid: Schema.optional<Schema.String>;
        readonly last_seen_at: Schema.optional<Schema.NullOr<Schema.String>>;
    }>>>;
}>;
export type PersonsListOutput = typeof PersonsListOutput.Type;
/**
 * This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs.
 *
 * @param distinct_id - Filter list by distinct id.
 * @param email - Filter persons by email (exact match)
 * @param limit - Number of results to return per page.
 * @param offset - The initial index from which to return the results.
 * @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 properties - Filter Persons by person properties.
 * @param search - Search persons, either by email (full text search) or distinct_id (exact match).
 */
export declare const personsList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly distinct_id?: string | undefined;
    readonly email?: string | undefined;
    readonly format?: "csv" | "json" | undefined;
    readonly limit?: number | undefined;
    readonly offset?: number | undefined;
    readonly project_id: string;
    readonly properties?: string | undefined;
    readonly search?: string | undefined;
}, {
    readonly count?: number | undefined;
    readonly next?: string | null | undefined;
    readonly previous?: string | null | undefined;
    readonly results?: readonly {
        readonly created_at?: string | undefined;
        readonly distinct_ids?: readonly string[] | undefined;
        readonly id?: number | undefined;
        readonly last_seen_at?: string | null | undefined;
        readonly name?: string | undefined;
        readonly properties?: unknown;
        readonly uuid?: string | undefined;
    }[] | undefined;
}, BadRequest | Forbidden | NotFound, import("~/credentials.ts").Credentials>;
//# sourceMappingURL=personsList.d.ts.map