import { DocumentClient } from 'aws-sdk/clients/dynamodb';
import { Site, SiteConnection, CreateSiteInput } from '../types.d';
export declare class SiteDb {
    private readonly tableName;
    private readonly documentClient;
    private readonly deviceTableName;
    private readonly siteUuidGsi;
    constructor(tableName: string, documentClient: DocumentClient, deviceTableName: string, siteUuidGsi: string);
    getSites: (entityUuid: string, limit: number, nextToken?: DocumentClient.Key | undefined) => Promise<SiteConnection>;
    createSite: (entityUuid: string, siteInput: CreateSiteInput) => Promise<string>;
    getSite: (entityUuid: string, siteUuid: string) => Promise<Site>;
    getSiteWithDevices: (siteItem: DocumentClient.AttributeMap) => Promise<Site>;
    getSiteDevices: (siteUuid: string) => Promise<DocumentClient.QueryOutput>;
}
