import { CloudProviderFileHandleInterface, ColumnMultiValueFunctionQueryFilter, ColumnSingleValueQueryFilter, DockerRepository, ExternalFileHandle, ExternalFileHandleInterface, FacetColumnRangeRequest, FacetColumnValuesRequest, FileEntity, InviteeVerificationSignedToken, JoinTeamSignedToken, Link, MembershipInvtnSignedToken, S3FileHandle, TermsOfUseAccessRequirement, TextMatchesQueryFilter } from '@sage-bionetworks/synapse-types';
/**
 * TypeScript doesn't support nominal typing, but we can utilize the concreteType field in Synapse objects to identify the class of an object. This function
 * will return a function that can be used as a type guard using the concreteType field.
 *
 * Generic `TTypeChecked` is the type that you are trying to verify/assert.
 * Generic `ObjectType` is optional and can be used to require a specific interface or type before calling this method. Defaults to `unknown`.
 *
 * @param expectedConcreteTypes
 * @returns a function that checks if a given object is an instance of `TTypeChecked` using the expected concrete type value.
 */
export declare function isTypeViaConcreteTypeFactory<TTypeChecked extends ObjectType, // The type that you are trying to verify/assert
ObjectType extends {
    concreteType: string;
} = {
    concreteType: string;
}>(...expectedConcreteTypes: TTypeChecked['concreteType'][]): (object: ObjectType) => object is TTypeChecked;
export declare const implementsCloudProviderFileHandleInterface: (object: {
    concreteType: string;
}) => object is CloudProviderFileHandleInterface;
export declare const isExternalFileHandle: (object: {
    concreteType: string;
}) => object is ExternalFileHandle;
export declare const isLink: (object: {
    concreteType: string;
}) => object is Link;
export declare const implementsExternalFileHandleInterface: (object: {
    concreteType: string;
}) => object is ExternalFileHandleInterface;
export declare const isDockerRepository: (object: {
    concreteType: string;
}) => object is DockerRepository;
export declare const isFacetColumnValuesRequest: (object: {
    concreteType: string;
}) => object is FacetColumnValuesRequest;
export declare const isFacetColumnRangeRequest: (object: {
    concreteType: string;
}) => object is FacetColumnRangeRequest;
export declare const isTextMatchesQueryFilter: (object: {
    concreteType: string;
}) => object is TextMatchesQueryFilter;
export declare const isColumnSingleValueQueryFilter: (object: {
    concreteType: string;
}) => object is ColumnSingleValueQueryFilter;
export declare const isColumnMultiValueFunctionQueryFilter: (object: {
    concreteType: string;
}) => object is ColumnMultiValueFunctionQueryFilter;
export declare const isS3FileHandle: (object: {
    concreteType: string;
}) => object is S3FileHandle;
export declare const isFileEntity: (object: {
    concreteType: string;
}) => object is FileEntity;
export declare const isTermsOfUseAccessRequirement: (object: {
    concreteType: string;
}) => object is TermsOfUseAccessRequirement;
export declare const isInviteeVerificationSignedToken: (object: {
    concreteType: string;
}) => object is InviteeVerificationSignedToken;
export declare const isJoinTeamSignedToken: (object: {
    concreteType: string;
}) => object is JoinTeamSignedToken;
export declare const isMembershipInvtnSignedToken: (object: {
    concreteType: string;
}) => object is MembershipInvtnSignedToken;
//# sourceMappingURL=IsType.d.ts.map