import { PubSubEngine } from 'type-graphql';
import { AppContext } from '../types.js';
import { ResolverBase } from './ResolverBase.js';
import { EntityInfo } from '@memberjunction/core';
import { KeyValuePairOutputType } from './KeyInputOutputTypes.js';
export declare class RunViewByIDInput {
    ViewID: string;
    ExtraFilter: string;
    OrderBy: string;
    Fields?: string[];
    UserSearchString: string;
    ExcludeUserViewRunID?: string;
    OverrideExcludeFilter?: string;
    SaveViewResults?: boolean;
    ExcludeDataFromAllPriorViewRuns?: boolean;
    IgnoreMaxRows?: boolean;
    MaxRows?: number;
    ForceAuditLog?: boolean;
    AuditLogDescription?: string;
    ResultType?: string;
    StartRow?: number;
}
export declare class RunViewByNameInput {
    ViewName: string;
    ExtraFilter: string;
    OrderBy: string;
    Fields?: string[];
    UserSearchString: string;
    ExcludeUserViewRunID?: string;
    OverrideExcludeFilter?: string;
    SaveViewResults?: boolean;
    ExcludeDataFromAllPriorViewRuns?: boolean;
    IgnoreMaxRows?: boolean;
    MaxRows?: number;
    ForceAuditLog?: boolean;
    AuditLogDescription?: string;
    ResultType?: string;
    StartRow?: number;
}
export declare class RunDynamicViewInput {
    EntityName: string;
    ExtraFilter: string;
    OrderBy: string;
    Fields?: string[];
    UserSearchString: string;
    ExcludeUserViewRunID?: string;
    OverrideExcludeFilter?: string;
    IgnoreMaxRows?: boolean;
    MaxRows?: number;
    ForceAuditLog?: boolean;
    AuditLogDescription?: string;
    ResultType?: string;
    StartRow?: number;
}
export declare class RunViewGenericInput {
    EntityName: string;
    ExtraFilter: string;
    OrderBy: string;
    Fields?: string[];
    UserSearchString: string;
    ExcludeUserViewRunID?: string;
    OverrideExcludeFilter?: string;
    SaveViewResults?: boolean;
    ExcludeDataFromAllPriorViewRuns?: boolean;
    IgnoreMaxRows?: boolean;
    MaxRows?: number;
    ForceAuditLog?: boolean;
    AuditLogDescription?: string;
    ResultType?: string;
    StartRow?: number;
}
export declare class RunViewCacheStatusInput {
    maxUpdatedAt: string;
    rowCount: number;
}
export declare class RunViewWithCacheCheckInput {
    params: RunDynamicViewInput;
    cacheStatus?: RunViewCacheStatusInput;
}
export declare class RunViewWithCacheCheckResultOutput {
    viewIndex: number;
    status: string;
    Results?: RunViewGenericResultRow[];
    maxUpdatedAt?: string;
    rowCount?: number;
    errorMessage?: string;
}
export declare class RunViewsWithCacheCheckOutput {
    success: boolean;
    results: RunViewWithCacheCheckResultOutput[];
    errorMessage?: string;
}
export declare class RunViewResultRow {
    PrimaryKey: KeyValuePairOutputType[];
    EntityID: string;
    Data: string;
}
export declare class RunViewGenericResultRow {
    PrimaryKey: KeyValuePairOutputType[];
    EntityID: string;
    Data: string;
}
export declare class RunViewResult {
    Results: RunViewResultRow[];
    UserViewRunID?: string;
    RowCount: number;
    TotalRowCount: number;
    ExecutionTime: number;
    ErrorMessage?: string;
    Success: boolean;
}
export declare class RunViewGenericResult {
    Results: RunViewGenericResultRow[];
    UserViewRunID?: string;
    RowCount: number;
    TotalRowCount: number;
    ExecutionTime: number;
    ErrorMessage?: string;
    Success: boolean;
}
export declare class RunViewResolver extends ResolverBase {
    RunViewByName(input: RunViewByNameInput, { providers, userPayload }: AppContext, pubSub: PubSubEngine): Promise<{
        Results: RunViewResultRow[];
        UserViewRunID: string;
        RowCount: number;
        TotalRowCount: number;
        ExecutionTime: number;
    }>;
    RunViewByID(input: RunViewByIDInput, { providers, userPayload }: AppContext, pubSub: PubSubEngine): Promise<{
        Results: RunViewResultRow[];
        UserViewRunID: string;
        RowCount: number;
        TotalRowCount: number;
        ExecutionTime: number;
    }>;
    RunDynamicView(input: RunDynamicViewInput, { providers, userPayload }: AppContext, pubSub: PubSubEngine): Promise<{
        Results: RunViewResultRow[];
        UserViewRunID: string;
        RowCount: number;
        TotalRowCount: number;
        ExecutionTime: number;
    }>;
    RunViews(input: (RunViewByNameInput & RunViewByIDInput & RunDynamicViewInput)[], { providers, userPayload }: AppContext, pubSub: PubSubEngine): Promise<RunViewGenericResult[]>;
    RunViewByNameSystemUser(input: RunViewByNameInput, { providers, userPayload }: AppContext, pubSub: PubSubEngine): Promise<{
        Results: any[];
        Success: boolean;
        ErrorMessage: string;
        RowCount: number;
        TotalRowCount: number;
        ExecutionTime: number;
        UserViewRunID?: undefined;
    } | {
        Results: RunViewResultRow[];
        UserViewRunID: string;
        RowCount: number;
        TotalRowCount: number;
        ExecutionTime: number;
        Success: boolean;
        ErrorMessage: string;
    }>;
    RunViewByIDSystemUser(input: RunViewByIDInput, { providers, userPayload }: AppContext, pubSub: PubSubEngine): Promise<{
        Results: any[];
        Success: boolean;
        ErrorMessage: string;
        RowCount: number;
        TotalRowCount: number;
        ExecutionTime: number;
        UserViewRunID?: undefined;
    } | {
        Results: RunViewResultRow[];
        UserViewRunID: string;
        RowCount: number;
        TotalRowCount: number;
        ExecutionTime: number;
        Success: boolean;
        ErrorMessage: string;
    }>;
    RunDynamicViewSystemUser(input: RunDynamicViewInput, { providers, userPayload }: AppContext, pubSub: PubSubEngine): Promise<{
        Results: any[];
        Success: boolean;
        ErrorMessage: string;
        RowCount: number;
        TotalRowCount: number;
        ExecutionTime: number;
        UserViewRunID?: undefined;
    } | {
        Results: RunViewResultRow[];
        UserViewRunID: string;
        RowCount: number;
        TotalRowCount: number;
        ExecutionTime: number;
        Success: boolean;
        ErrorMessage: string;
    }>;
    RunViewsSystemUser(input: (RunViewByNameInput & RunViewByIDInput & RunDynamicViewInput)[], { providers, userPayload }: AppContext, pubSub: PubSubEngine): Promise<RunViewGenericResult[]>;
    RunViewsWithCacheCheck(input: RunViewWithCacheCheckInput[], { providers, userPayload }: AppContext): Promise<RunViewsWithCacheCheckOutput>;
    protected processRawData(rawData: any[], entityId: string, entityInfo: EntityInfo): RunViewResultRow[];
}
//# sourceMappingURL=RunViewResolver.d.ts.map