import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import { DeleteV2ListsListEntriesEntryIdRequest, DeleteV2ListsListEntriesEntryIdResponse } from "../models/operations/deletev2listslistentriesentryid.js";
import { GetV2ListsListEntriesEntryIdRequest, GetV2ListsListEntriesEntryIdResponse } from "../models/operations/getv2listslistentriesentryid.js";
import { PatchV2ListsListEntriesEntryIdRequest, PatchV2ListsListEntriesEntryIdResponse } from "../models/operations/patchv2listslistentriesentryid.js";
import { PostV2ListsListEntriesRequest, PostV2ListsListEntriesResponse } from "../models/operations/postv2listslistentries.js";
import { PostV2ListsListEntriesQueryRequest, PostV2ListsListEntriesQueryResponse } from "../models/operations/postv2listslistentriesquery.js";
import { PutV2ListsListEntriesRequest, PutV2ListsListEntriesResponse } from "../models/operations/putv2listslistentries.js";
import { PutV2ListsListEntriesEntryIdRequest, PutV2ListsListEntriesEntryIdResponse } from "../models/operations/putv2listslistentriesentryid.js";
import { EntriesAttributes } from "./entriesattributes.js";
export declare class Entries extends ClientSDK {
    private _attributes?;
    get attributes(): EntriesAttributes;
    /**
     * List entries
     *
     * @remarks
     * Lists entries in a given list, with the option to filter and sort results.
     *
     * Required scopes: `list_entry:read`, `list_configuration:read`.
     */
    query(request: PostV2ListsListEntriesQueryRequest, options?: RequestOptions): Promise<PostV2ListsListEntriesQueryResponse>;
    /**
     * Create an entry (add record to list)
     *
     * @remarks
     * Adds a record to a list as a new list entry. This endpoint will throw on conflicts of unique attributes. Multiple list entries are allowed for the same parent record
     *
     * Required scopes: `list_entry:read-write`, `list_configuration:read`.
     */
    create(request: PostV2ListsListEntriesRequest, options?: RequestOptions): Promise<PostV2ListsListEntriesResponse>;
    /**
     * Assert a list entry by parent
     *
     * @remarks
     * Use this endpoint to create or update a list entry for a given parent record. If an entry with the specified parent record is found, that entry will be updated. If no such entry is found, a new entry will be created instead. If there are multiple entries with the same parent record, this endpoint with return the "MULTIPLE_MATCH_RESULTS" error. When writing to multi-select attributes, all values will be either created or deleted as necessary to match the list of values supplied in the request body.
     *
     * Required scopes: `list_entry:read-write`, `list_configuration:read`.
     */
    assert(request: PutV2ListsListEntriesRequest, options?: RequestOptions): Promise<PutV2ListsListEntriesResponse>;
    /**
     * Get a list entry
     *
     * @remarks
     * Gets a single list entry by its `entry_id`.
     *
     * Required scopes: `list_entry:read`, `list_configuration:read`.
     */
    getEntry(request: GetV2ListsListEntriesEntryIdRequest, options?: RequestOptions): Promise<GetV2ListsListEntriesEntryIdResponse>;
    /**
     * Update a list entry (append multiselect values)
     *
     * @remarks
     * Use this endpoint to update list entries by `entry_id`. If the update payload includes multiselect attributes, the values supplied will be created and prepended to the list of values that already exist (if any). Use the `PUT` endpoint to overwrite or remove multiselect attribute values.
     *
     * Required scopes: `list_entry:read-write`, `list_configuration:read`.
     */
    update(request: PatchV2ListsListEntriesEntryIdRequest, options?: RequestOptions): Promise<PatchV2ListsListEntriesEntryIdResponse>;
    /**
     * Update a list entry (overwrite multiselect values)
     *
     * @remarks
     * Use this endpoint to update list entries by `entry_id`. If the update payload includes multiselect attributes, the values supplied will overwrite/remove the list of values that already exist (if any). Use the `PATCH` endpoint to add multiselect attribute values without removing those value that already exist.
     *
     * Required scopes: `list_entry:read-write`, `list_configuration:read`.
     */
    overwrite(request: PutV2ListsListEntriesEntryIdRequest, options?: RequestOptions): Promise<PutV2ListsListEntriesEntryIdResponse>;
    /**
     * Delete a list entry
     *
     * @remarks
     * Deletes a single list entry by its `entry_id`.
     *
     * Required scopes: `list_entry:read-write`, `list_configuration:read`.
     */
    delete(request: DeleteV2ListsListEntriesEntryIdRequest, options?: RequestOptions): Promise<DeleteV2ListsListEntriesEntryIdResponse>;
}
//# sourceMappingURL=entries.d.ts.map