import { GraphQLClient } from 'graphql-request';
import { Sdk } from './signatory-viewer-types';
import * as Types from './signatory-viewer-types';
import { SignInput } from './signatory-viewer-types';
import { CompleteCriiptoVerifyEvidenceProviderInput, StartCriiptoVerifyEvidenceProviderInput } from './application-viewer-types';
export { Types as SignatoryViewerTypes };
type Authentication = {
    token: string;
    validation?: string;
};
export interface SignatoryViewerClientOptions {
    endpoint?: string;
}
export declare class SignatoryViewerClient {
    client: GraphQLClient;
    sdk: Sdk;
    constructor(options: Authentication, clientOptions?: SignatoryViewerClientOptions);
    setAuthentication(authentication: Authentication): void;
    sign(input: SignInput): Promise<{
        __typename: "AnonymousViewer";
    } | {
        __typename: "Application";
    } | {
        __typename: "BatchSignatoryViewer";
        status: Types.SignatoryStatus;
        signer: boolean;
    } | {
        __typename: "SignatoryViewer";
        status: Types.SignatoryStatus;
        signer: boolean;
    } | {
        __typename: "UnvalidatedSignatoryViewer";
    } | {
        __typename: "UserViewer";
    }>;
    startCriiptoVerifyEvidenceProvider(input: StartCriiptoVerifyEvidenceProviderInput): Promise<{
        __typename: "CriiptoVerifyEvidenceProviderRedirect";
        redirectUri: string;
        state: string;
    }>;
    completeCriiptoVerifyEvidenceProvider(input: CompleteCriiptoVerifyEvidenceProviderInput): Promise<{
        __typename: "CompleteCriiptoVerifyEvidenceProviderOutput";
        jwt: string;
    }>;
    openDocument(input: {
        documentId: string;
    }): Promise<void>;
    approveDocument(input: {
        documentId: string;
    }): Promise<void>;
    rejectSignatureOrder(input: {
        reason?: string;
    }): Promise<void>;
    viewer(): Promise<{
        __typename: "AnonymousViewer";
        authenticated: boolean;
        id: string;
    } | {
        __typename: "Application";
        id: string;
    } | {
        __typename: "BatchSignatoryViewer";
        batchSignatoryId: string;
        status: Types.SignatoryStatus;
        signer: boolean;
        id: string;
        evidenceProviders: Array<{
            __typename: "AllOfSignatureEvidenceProvider";
            id: string;
        } | {
            __typename: "CriiptoVerifySignatureEvidenceProvider";
            id: string;
            domain: string;
            clientID: string;
            acrValues: Array<string>;
            alwaysRedirect: boolean;
            message?: string | null;
            loginHint?: string | null;
            scope?: string | null;
            environment?: Types.VerifyApplicationEnvironment | null;
        } | {
            __typename: "DrawableSignatureEvidenceProvider";
            requireName: boolean;
            minimumWidth?: number | null;
            minimumHeight?: number | null;
            id: string;
        } | {
            __typename: "NoopSignatureEvidenceProvider";
            id: string;
        } | {
            __typename: "OidcJWTSignatureEvidenceProvider";
            id: string;
            domain: string;
            clientID: string;
            acrValues: Array<string>;
            alwaysRedirect: boolean;
        }>;
        documents: {
            __typename?: "SignatoryDocumentConnection";
            edges: Array<{
                __typename?: "SignatoryDocumentEdge";
                status?: Types.SignatoryDocumentStatus | null;
                node: {
                    __typename: "PdfDocument";
                    id: string;
                    title: string;
                    reference?: string | null;
                    signatoryViewerStatus?: Types.SignatoryDocumentStatus | null;
                    blob?: Buffer | null;
                } | {
                    __typename: "XmlDocument";
                    id: string;
                    title: string;
                    reference?: string | null;
                    signatoryViewerStatus?: Types.SignatoryDocumentStatus | null;
                    blob?: Buffer | null;
                };
            }>;
        };
    } | {
        __typename: "SignatoryViewer";
        signatoryId: string;
        role: Types.SignatoryRole;
        status: Types.SignatoryStatus;
        signer: boolean;
        id: string;
        evidenceProviders: Array<{
            __typename: "AllOfSignatureEvidenceProvider";
            id: string;
        } | {
            __typename: "CriiptoVerifySignatureEvidenceProvider";
            id: string;
            domain: string;
            clientID: string;
            acrValues: Array<string>;
            alwaysRedirect: boolean;
            message?: string | null;
            loginHint?: string | null;
            scope?: string | null;
            environment?: Types.VerifyApplicationEnvironment | null;
        } | {
            __typename: "DrawableSignatureEvidenceProvider";
            requireName: boolean;
            minimumWidth?: number | null;
            minimumHeight?: number | null;
            id: string;
        } | {
            __typename: "NoopSignatureEvidenceProvider";
            id: string;
        } | {
            __typename: "OidcJWTSignatureEvidenceProvider";
            id: string;
            domain: string;
            clientID: string;
            acrValues: Array<string>;
            alwaysRedirect: boolean;
        }>;
        documents: {
            __typename?: "SignatoryDocumentConnection";
            edges: Array<{
                __typename?: "SignatoryDocumentEdge";
                status?: Types.SignatoryDocumentStatus | null;
                node: {
                    __typename: "PdfDocument";
                    id: string;
                    title: string;
                    reference?: string | null;
                    signatoryViewerStatus?: Types.SignatoryDocumentStatus | null;
                    blob?: Buffer | null;
                } | {
                    __typename: "XmlDocument";
                    id: string;
                    title: string;
                    reference?: string | null;
                    signatoryViewerStatus?: Types.SignatoryDocumentStatus | null;
                    blob?: Buffer | null;
                };
            }>;
        };
    } | {
        __typename: "UnvalidatedSignatoryViewer";
        signatoryId: string;
        id: string;
        evidenceProviders: Array<{
            __typename: "AllOfSignatureEvidenceProvider";
            id: string;
        } | {
            __typename: "CriiptoVerifySignatureEvidenceProvider";
            id: string;
            domain: string;
            clientID: string;
            acrValues: Array<string>;
            alwaysRedirect: boolean;
            message?: string | null;
            loginHint?: string | null;
            scope?: string | null;
            environment?: Types.VerifyApplicationEnvironment | null;
        } | {
            __typename: "DrawableSignatureEvidenceProvider";
            requireName: boolean;
            minimumWidth?: number | null;
            minimumHeight?: number | null;
            id: string;
        } | {
            __typename: "NoopSignatureEvidenceProvider";
            id: string;
        } | {
            __typename: "OidcJWTSignatureEvidenceProvider";
            id: string;
            domain: string;
            clientID: string;
            acrValues: Array<string>;
            alwaysRedirect: boolean;
        }>;
    } | {
        __typename: "UserViewer";
        id: string;
    }>;
}
