import { type Event } from 'nostr-tools'; import { PaginationOpts } from '../util'; import { type NostrClient, type Store } from '../service'; import { EventKindHandler } from './EventKindHandler'; import { type BitcoinUtil, PublishedPolicy } from '../models'; import { type PublishedCompletedSpendingProposal, type PublishedCompletedProofOfReserveProposal, type PublishedSpendingProposal, type PublishedProofOfReserveProposal, type PublishedApprovedProposal, type SharedKeyAuthenticator, type PublishedSharedSigner, type PublishedOwnedSigner, PublishedLabel } from '../types'; import { type Authenticator } from '@smontero/nostr-ual'; export declare class PolicyHandler extends EventKindHandler { private readonly store; private readonly eventsStore; private readonly completedProposalsStore; private readonly proposalsStore; private readonly approvalsStore; private readonly sharedKeysStore; private readonly LabelStore; private readonly nostrClient; private readonly bitcoinUtil; private readonly authenticator; private readonly getSharedKeysById; private readonly getCompletedProposalsByPolicyId; private readonly getProposalsByPolicyId; private readonly getApprovalsByPolicyId; private readonly getSharedSigners; private readonly getOwnedSigners; private readonly getLabelsByPolicyId; constructor(store: Store, eventsStore: Store, completedProposalsStore: Store, proposalsStore: Store, approvalsStore: Store, sharedKeysStore: Store, labelStore: Store, nostrClient: NostrClient, bitcoinUtil: BitcoinUtil, authenticator: Authenticator, getSharedKeysById: (ids: string[]) => Promise>, getCompletedProposalsByPolicyId: (policyId: string) => Promise>>, getProposalsByPolicyId: (policyId: string[] | string) => Promise>>, getApprovalsByPolicyId: (policy_ids: string[] | string | string) => Promise>>, getSharedSigners: (publicKeys?: string | string[]) => Promise, getOwnedSigners: () => Promise, getLabelsByPolicyId: (policy_ids: string[] | string, paginationOpts?: PaginationOpts) => Promise>>); protected _handle(policyEvents: Array>): Promise>; private getPolicyRelatedEvents; protected _delete(ids: string[]): Promise; }