import { SignatureStatus } from '@prisma/client';
export interface SignatureProvider {
    readonly code: string;
    createSigningRequest(params: {
        documentUrl: string;
        documentTitle: string;
        signerEmail: string;
        signerName?: string;
        callbackUrl?: string;
    }): Promise<{
        providerRef: string;
        signingUrl: string;
        expiresAt?: Date;
    }>;
    parseCallback(rawBody: string, headers: Record<string, string>): Promise<{
        providerRef: string;
        status: SignatureStatus;
    }>;
}
export declare class StubSignatureProvider implements SignatureProvider {
    readonly code = "STUB";
    private readonly logger;
    createSigningRequest(params: any): Promise<{
        providerRef: string;
        signingUrl: string;
        expiresAt: Date;
    }>;
    parseCallback(rawBody: string): Promise<{
        providerRef: any;
        status: import(".prisma/client").$Enums.SignatureStatus;
    }>;
}
