/*!
PrivMX Web Endpoint.
Copyright © 2024 Simplito sp. z o.o.

This file is part of the PrivMX Platform (https://privmx.dev).
This software is Licensed under the PrivMX Free License.

See the License for the specific language governing permissions and
limitations under the License.
*/
import { PagingQuery, PagingList, UserWithPubKey, Store, File, ContainerPolicy } from "../Types";
import { BaseNative } from "./BaseNative";
export declare class StoreApiNative extends BaseNative {
    newApi(connectionPtr: number): Promise<number>;
    deleteApi(ptr: number): Promise<void>;
    create(ptr: number, args: []): Promise<void>;
    createStore(ptr: number, args: [string, UserWithPubKey[], UserWithPubKey[], Uint8Array, Uint8Array, ContainerPolicy | undefined]): Promise<string>;
    updateStore(ptr: number, args: [string, UserWithPubKey[], UserWithPubKey[], Uint8Array, Uint8Array, number, boolean, boolean, ContainerPolicy | undefined]): Promise<void>;
    deleteStore(ptr: number, args: [string]): Promise<void>;
    getStore(ptr: number, args: [string]): Promise<Store>;
    listStores(ptr: number, args: [string, PagingQuery]): Promise<PagingList<Store>>;
    createFile(ptr: number, args: [string, Uint8Array, Uint8Array, number]): Promise<number>;
    updateFile(ptr: number, args: [string, Uint8Array, Uint8Array, number]): Promise<number>;
    updateFileMeta(ptr: number, args: [string, Uint8Array, Uint8Array]): Promise<void>;
    writeToFile(ptr: number, args: [number, Uint8Array]): Promise<void>;
    deleteFile(ptr: number, args: [string]): Promise<void>;
    getFile(ptr: number, args: [string]): Promise<File>;
    listFiles(ptr: number, args: [string, PagingQuery]): Promise<PagingList<File>>;
    openFile(ptr: number, args: [string]): Promise<number>;
    readFromFile(ptr: number, args: [number, number]): Promise<Uint8Array>;
    seekInFile(ptr: number, args: [number, number]): Promise<void>;
    closeFile(ptr: number, args: [number]): Promise<string>;
    subscribeForStoreEvents(ptr: number, args: []): Promise<void>;
    unsubscribeFromStoreEvents(ptr: number, args: []): Promise<void>;
    subscribeForFileEvents(ptr: number, args: [string]): Promise<void>;
    unsubscribeFromFileEvents(ptr: number, args: [string]): Promise<void>;
}
