import type { IgnoredSender, IngestInput, IntakeItem, IntakeListFilters, Status } from '../types.js';
export declare class IntakeService {
    ingest(input: IngestInput): {
        item: IntakeItem;
        created: boolean;
        duplicate: boolean;
    };
    getById(id: string): IntakeItem | null;
    list(filters?: IntakeListFilters): IntakeItem[];
    approve(id: string): IntakeItem | null;
    ignore(id: string): IntakeItem | null;
    restore(id: string): IntakeItem | null;
    claim(id: string, consumerId: string): {
        ok: true;
        item: IntakeItem;
        claim_token: string;
    } | {
        ok: false;
        reason: string;
        item?: IntakeItem;
    };
    claimNextReady(consumerId: string): {
        ok: true;
        item: IntakeItem;
        claim_token: string;
    } | {
        ok: false;
        reason: string;
    };
    acknowledgeCreated(id: string, payload: {
        claim_token?: string;
        maj_wp_ticket_id: string;
        remote_status?: string;
        remote_message?: string;
    }): IntakeItem | null;
    updateRemoteStatus(id: string, payload: {
        maj_wp_ticket_id?: string;
        status?: Status;
        remote_status?: string;
        remote_message?: string;
        error?: string | null;
    }): IntakeItem | null;
    listReady(limit?: number): IntakeItem[];
    listTickets(): IntakeItem[];
    private logSync;
}
export declare class BlacklistService {
    addSender(input: {
        sender_type: 'email' | 'monday_user';
        sender_key: string;
        sender_label?: string;
        reason?: string;
    }): IgnoredSender;
    list(activeOnly?: boolean): IgnoredSender[];
    reactivate(id: string): IgnoredSender | null;
    deactivate(id: string): IgnoredSender | null;
    ignoreSenderFromItem(itemId: string, reason?: string): IgnoredSender | null;
}
export declare function hashToken(token: string): string;
export declare function verifyToken(token: string, hash: string): boolean;
export declare class ExtensionAuthService {
    createPairingCode(): {
        code: string;
        expires_at: string;
    };
    redeemPairingCode(code: string, label?: string): {
        token: string;
        id: string;
    } | null;
    validateExtensionToken(token: string): boolean;
    listTokens(): Array<{
        id: string;
        label: string | null;
        created_at: string;
        last_used_at: string | null;
        active: boolean;
    }>;
    revokeToken(id: string): void;
}
export declare const intakeService: IntakeService;
export declare const blacklistService: BlacklistService;
export declare const extensionAuthService: ExtensionAuthService;
