import { RequestService } from "./request";
import { UrlBuilder } from "./url";
import { CreateRecordOptions, DeleteRecordOptions, InitParams, QueryRecordOptions, RecordQueryResponse, RecordType } from './types';
export declare class CloudKitJs {
    protected initParams: InitParams;
    protected readonly requestService: RequestService;
    protected readonly urlBuilder: UrlBuilder;
    constructor(initParams: InitParams);
    queryRecords(queryRecordOptions: QueryRecordOptions): Promise<RecordQueryResponse>;
    getRecordByName(recordName: string, desiredKeys?: string[]): Promise<RecordQueryResponse>;
    createRecord(createRecordOptions: CreateRecordOptions): Promise<RecordQueryResponse>;
    createRecords(records: CreateRecordOptions[]): Promise<RecordQueryResponse>;
    updateRecord(recordName: string, recordType: RecordType, recordChangeTag: string, fields: {
        [index in string]: any;
    }): Promise<RecordQueryResponse>;
    forceUpdateRecord(recordName: string, recordType: RecordType, fields: {
        [index in string]: any;
    }): Promise<RecordQueryResponse>;
    deleteRecord(deleteRecordOptions: DeleteRecordOptions): Promise<RecordQueryResponse>;
    forceDeleteRecord(deleteRecordOptions: DeleteRecordOptions): Promise<RecordQueryResponse>;
    forceDeleteRecords(recordType: RecordType, recordNames: string[]): Promise<RecordQueryResponse>;
    uploadAssetFromUrl(recordType: RecordType, fieldName: string, fileUrl: string, recordName: string): Promise<RecordQueryResponse>;
    uploadAsset(recordType: RecordType, fieldName: string, fileContents: Blob, recordName: string): Promise<RecordQueryResponse>;
}
