import { type DataPortabilityGatewayConfig } from "./eip712";
export interface DataPortabilityGrantPayload {
    user?: `0x${string}`;
    builder?: `0x${string}`;
    scopes: string[];
    expiresAt: number;
    nonce?: number;
}
export interface VerifyGrantRegistrationInput {
    gatewayConfig: DataPortabilityGatewayConfig;
    grantorAddress: `0x${string}`;
    granteeId: `0x${string}`;
    grant: string;
    fileIds?: Array<string | number | bigint>;
    signature: `0x${string}`;
    nowSeconds?: number;
}
export type VerifyGrantRegistrationResult = {
    valid: true;
    grantorAddress: `0x${string}`;
    granteeId: `0x${string}`;
    grant: string;
    payload: DataPortabilityGrantPayload;
    fileIds: string[];
} | {
    valid: false;
    error: string;
};
export declare function isDataPortabilityGatewayConfig(value: unknown): value is DataPortabilityGatewayConfig;
export declare function parseGrantRegistrationPayload(grant: string): DataPortabilityGrantPayload | null;
export declare function verifyGrantRegistration(input: VerifyGrantRegistrationInput): Promise<VerifyGrantRegistrationResult>;
