import { IConnection, IOptions } from "../connection";
import { Service } from "../espConnection";
export declare namespace WsStore {
    interface CreateStoreRequest {
        Name: string;
        Type: string;
        Description: string;
        UserSpecific: boolean;
    }
    interface DeleteRequest {
        StoreName: string;
        Namespace: string;
        Key: string;
        UserSpecific: boolean;
        TargetUser?: string;
    }
    interface DeleteNamespaceRequest {
        StoreName: string;
        Namespace: string;
        UserSpecific: boolean;
        TargetUser: string;
    }
    interface FetchRequest {
        StoreName: string;
        Namespace: string;
        Key: string;
        UserSpecific: boolean;
    }
    interface FetchAllRequest {
        StoreName: string;
        Namespace: string;
        UserSpecific: boolean;
    }
    interface FetchKeyMDRequest {
        StoreName: string;
        Namespace: string;
        Key: string;
        UserSpecific: boolean;
    }
    interface ListKeysRequest {
        StoreName: string;
        Namespace: string;
        UserSpecific: boolean;
    }
    interface ListNamespacesRequest {
        StoreName: string;
        UserSpecific: boolean;
    }
    interface SetRequest {
        StoreName: string;
        Namespace: string;
        Key: string;
        Value: string;
        UserSpecific: boolean;
    }
    interface Exception {
        Code: string;
        Audience: string;
        Source: string;
        Message: string;
    }
    interface Exceptions {
        Source: string;
        Exception: Exception[];
    }
    interface CreateStoreResponse {
        Exceptions: Exceptions;
        Name: string;
        Type: string;
        Description: string;
        Owner: string;
    }
    interface DeleteResponse {
        Exceptions: Exceptions;
        Success: boolean;
    }
    interface DeleteNamespaceResponse {
        Exceptions: Exceptions;
        Success: boolean;
    }
    interface FetchResponse {
        Exceptions: Exceptions;
        Value: string;
    }
    interface Pair {
        Key: string;
        Value: string;
    }
    interface Pairs {
        Pair: Pair[];
    }
    interface FetchAllResponse {
        Exceptions: Exceptions;
        Namespace: string;
        Pairs: Pairs;
    }
    interface Pair2 {
        Key: string;
        Value: string;
    }
    interface Pairs2 {
        Pair: Pair2[];
    }
    interface FetchKeyMDResponse {
        Exceptions: Exceptions;
        StoreName: string;
        Namespace: string;
        Key: string;
        Pairs: Pairs2;
    }
    interface KeySet {
        Key: string[];
    }
    interface ListKeysResponse {
        Exceptions: Exceptions;
        StoreName: string;
        Namespace: string;
        KeySet: KeySet;
    }
    interface Namespaces {
        Namespace: string[];
    }
    interface ListNamespacesResponse {
        Exceptions: Exceptions;
        StoreName: string;
        Namespaces: Namespaces;
    }
    interface WsstorePingResponse {
    }
    interface SetResponse {
        Exceptions: Exceptions;
        Success: boolean;
    }
}
export declare class StoreService extends Service {
    constructor(optsConnection: IOptions | IConnection);
    CreateStore(request: WsStore.CreateStoreRequest): Promise<WsStore.CreateStoreResponse>;
    Delete(request: WsStore.DeleteRequest): Promise<WsStore.DeleteResponse>;
    DeleteNamespace(request: WsStore.DeleteNamespaceRequest): Promise<WsStore.DeleteNamespaceResponse>;
    Fetch(request: WsStore.FetchRequest): Promise<WsStore.FetchResponse>;
    FetchAll(request: WsStore.FetchAllRequest): Promise<WsStore.FetchAllResponse>;
    FetchKeyMD(request: WsStore.FetchKeyMDRequest): Promise<WsStore.FetchKeyMDResponse>;
    ListKeys(request: WsStore.ListKeysRequest): Promise<WsStore.ListKeysResponse>;
    ListNamespaces(request: WsStore.ListNamespacesRequest): Promise<WsStore.ListNamespacesResponse>;
    Set(request: WsStore.SetRequest): Promise<WsStore.SetResponse>;
}
//# sourceMappingURL=wsStore.d.ts.map