import { ManifestPropertyStatusNames } from "../ManifestConstant";
export interface Property {
    propertyName: string;
    code: string;
}
export interface Control {
    controlName: string;
    Properties: Property[];
}
export interface InstanceValueItem {
    [screenName: string]: Control[];
}
export type InstanceValue = InstanceValueItem[];
/** @public */
export interface PatternResult {
    patternID: string;
    patternName: string;
    description: string;
    status?: ManifestPropertyStatusNames;
    instanceValue?: AppInstanceValue[] | AgentInstanceValue[] | FlowInstanceValue;
    failureReason?: string;
    recommendation: string;
    docLinks: string | string[];
    severity: string;
    category: string;
    patternType?: string;
    patternScore?: number;
    patternActive?: boolean;
}
export interface Topic {
    triggerQueries: string[];
    duplicates: string[];
}
export interface CopilotResult {
    name: string;
    displayName: string;
    result: PatternResult[];
    score: number;
}
export interface ReviewCopilotComponentsResult {
    items: CopilotResult[];
    totalBots: number;
    totalScore: number;
}
export interface Asset {
    exceedsThreshold: boolean;
    mediaName: string;
}
export interface AppCheckerIssue {
    RuleId: string;
    Category?: string;
}
export interface AppSettings {
    AppPreviewFlagsMap?: {
        [key: string]: boolean;
    };
}
export interface MsApp {
    assets: Asset[];
    appCheckerIssues: AppCheckerIssue[];
    appSettings?: AppSettings;
}
export interface SarifRun {
    tool: {
        driver: {
            name: string;
            rules: SarifRule[];
        };
    };
    results: SarifResult[];
}
export interface SarifRule {
    id: string;
    properties?: {
        howToFix?: string;
        whyFix?: string;
        primaryCategory?: string;
    };
    messageStrings?: {
        issue?: {
            text: string;
        };
    };
}
export interface SarifResult {
    ruleId: string;
    locations?: {
        physicalLocation?: {
            address?: {
                fullyQualifiedName?: string;
            };
        };
    }[];
    properties?: {
        level?: string;
    };
}
/** @public */
export interface AppInstanceValue {
    ScreenName: string;
    ControlName: string;
    PropertyName: string;
    Code: string;
    PatternName: string;
    FailureReason?: string;
    FailedPowerFxCode?: string;
}
/** @public */
export interface AgentEntity {
    RegexEntity?: Array<{
        name: string;
        pattern?: string;
        matchingPatternEntityList?: string[];
    }>;
    ClosedListEntity?: Array<{
        name: string;
        longSynonyms?: string[];
    }>;
}
/** @public */
export interface AgentInstanceValue {
    Topic?: AgentTopics[];
    Flows?: string[];
    KnowledgeSource?: string[];
    Entity?: AgentEntity;
}
/** @public */
export interface AgentTopics {
    TopicName?: string;
    InvalidTriggerQueries?: string[];
    ModelDescription?: string | null;
    Score?: number;
}
/** @public */
export interface FlowInstanceValue {
    [index: number]: string;
}
//# sourceMappingURL=pattern.d.ts.map