import { AuthData, APL } from '../index.js'; import { Table } from 'dynamodb-toolbox'; /** * Define minimum Table definition. Apps should at least extend these values. */ type PartitionKey = { name: "PK"; type: "string"; }; type SortKey = { name: "SK"; type: "string"; }; type UsedTable = Table; interface APLRepository { getEntry(args: { saleorApiUrl: string; }): Promise; setEntry(args: { authData: AuthData; }): Promise; deleteEntry(args: { saleorApiUrl: string; }): Promise; getAllEntries(): Promise; } type ExternalLogger = (message: string, level: "debug" | "error") => void; declare class DynamoAPL implements APL { private repository; private tracer; private debug; private externalLogger; private log; static create(deps: { table: UsedTable; externalLogger?: ExternalLogger; }): DynamoAPL; constructor(deps: { repository: APLRepository; externalLogger?: ExternalLogger; }); get(saleorApiUrl: string): Promise; set(authData: AuthData): Promise; delete(saleorApiUrl: string): Promise; getAll(): Promise; } export { DynamoAPL };