import { DbTermsType, DbContractType, DbTransactionType } from '../../../types/consentflowcontract';
import { ConsentFlowContractData, ConsentFlowContractDataForDid, ConsentFlowContractQuery, ConsentFlowDataForDidQuery, ConsentFlowDataQuery, ConsentFlowTermsQuery, ConsentFlowTransactionsQuery, LCNProfile } from '@learncard/types';
import { FlatBoostType } from '../../../types/boost';
import { ProfileType } from '../../../types/profile';
import { CredentialType } from '../../../types/credential';
export declare const isProfileConsentFlowContractAdmin: (profile: ProfileType, contract: DbContractType) => Promise<boolean>;
export declare const hasProfileConsentedToContract: (profile: ProfileType | string, contract: DbContractType) => Promise<boolean>;
export declare const getContractDetailsById: (id: string) => Promise<{
    contractOwner: LCNProfile;
    contract: DbContractType;
} | null>;
export declare const getContractDetailsByUri: (uri: string) => Promise<{
    contractOwner: LCNProfile;
    contract: DbContractType;
} | null>;
export declare const getContractTermsForProfile: (profile: ProfileType | string, contract: DbContractType) => Promise<DbTermsType | null>;
export declare const getContractTermsById: (id: string) => Promise<{
    terms: DbTermsType;
    consenter: LCNProfile;
    contract: DbContractType;
    contractOwner: LCNProfile;
} | null>;
export declare const getContractTermsByUri: (uri: string) => Promise<{
    terms: DbTermsType;
    consenter: LCNProfile;
    contract: DbContractType;
    contractOwner: LCNProfile;
} | null>;
export declare const getConsentFlowContractsForProfile: (profile: ProfileType, { query: matchQuery, limit, cursor, domain, }: {
    query?: ConsentFlowContractQuery;
    limit: number;
    cursor?: string;
    domain: string;
}) => Promise<{
    contract: DbContractType;
    autoBoosts: string[];
}[]>;
export declare const getConsentedContractsForProfile: (profile: ProfileType, { query: matchQuery, limit, cursor, domain, }: {
    query?: ConsentFlowTermsQuery;
    limit: number;
    cursor?: string;
    domain: string;
}) => Promise<{
    contract: DbContractType;
    owner: LCNProfile;
    terms: DbTermsType;
    autoBoosts: string[];
}[]>;
export declare const getConsentedDataForProfile: (profileId: string, { query, limit, cursor }: {
    query?: ConsentFlowDataQuery;
    limit: number;
    cursor?: string;
}) => Promise<ConsentFlowContractData[]>;
export declare const getConsentedDataForContract: (id: string, { query, limit, cursor }: {
    query?: ConsentFlowDataQuery;
    limit: number;
    cursor?: string;
}) => Promise<ConsentFlowContractData[]>;
export declare const getConsentedDataBetweenProfiles: (ownerProfileId: string, consenterProfileId: string, { query, limit, cursor, domain, }: {
    query?: ConsentFlowDataForDidQuery;
    limit: number;
    cursor?: string;
    domain: string;
}) => Promise<ConsentFlowContractDataForDid[]>;
export declare const getTransactionsForTerms: (termsId: string, { query: matchQuery, limit, cursor, }: {
    query?: ConsentFlowTransactionsQuery;
    limit: number;
    cursor?: string;
}) => Promise<(DbTransactionType & {
    credentials: CredentialType[];
})[]>;
export declare const getRawAutoBoostsForContract: (contractId: string) => Promise<FlatBoostType[]>;
export declare const getAutoBoostsForContract: (contractId: string, domain: string) => Promise<string[]>;
export declare const getWritersForContract: (contract: DbContractType) => Promise<ProfileType[]>;
//# sourceMappingURL=read.d.ts.map