type Timestamp = number;
export declare const ContextQsh = "context-qsh";
/**
 * Represents the payload of a Connect JWT.
 */
export interface ConnectJwt {
    iss: string;
    kid?: string;
    alg: string;
    aud: Array<string>;
    sub?: string;
    qsh?: string | typeof ContextQsh;
    exp: Timestamp;
    iat: Timestamp;
    context: unknown;
}
export declare enum InstallationType {
    newInstallation = "newInstallation",
    update = "update"
}
/**
 * Holds current credentials and the entity representing an existing installation.
 */
export interface CredentialsWithEntity<E> {
    sharedSecret: string;
    storedEntity: E;
}
/**
 * Used to load data from an existing installation.
 */
export interface CredentialsLoader<E> {
    (clientKey: string): Promise<CredentialsWithEntity<E> | undefined>;
}
/**
 * Chooses the algorithm used to verify the content of an incoming request from Connect.
 */
export type QueryStringHashType = 'computed' | 'context' | 'any' | 'skip';
export type InstallationQueryStringHashType = 'computed' | 'skip';
export {};
//# sourceMappingURL=types.d.ts.map