export declare type EnvironmentName = "localhost" | "development" | "production";
export declare type DAO = {
    daoAddress: string;
    displayName: string;
    discordGuildId: string;
    internalName: string;
    frontendURL: string | null;
    collection?: CollectionDeploymentData;
};
export declare type CollectionDeploymentData = {
    proxyTxHash?: string;
    implementationTxHash?: string;
    ownerTxHash?: string;
    implementationAddress?: string;
    collectionAddress?: string;
    deploymentInProgress?: boolean;
};
export interface OpenAISettings {
    max_tokens: number;
    temperature: number;
    top_p: number;
    frequency_penalty: number;
    presence_penalty: number;
}
export declare type SelectedDao = DAO | "My DAOs";
export declare type SelectedProject = ProjectResponse | "All Projects";
export declare type ProjectResponse = {
    projectId: string;
    projectName: string;
    legalName: string;
    categories: string[];
    socials: SocialsResponse;
    updatedAt: string;
    createdAt: string;
};
export declare type SocialSites = {
    [K in SocialSitesTypes]: string;
};
export declare type SocialsResponse = SocialSites & {
    website: string;
};
export declare type SocialsData = SocialSites & {
    website: string;
};
export declare enum SocialSitesTypes {
    twitter = "twitter",
    discord = "discord",
    medium = "medium",
    mirror = "mirror"
}
export declare type TimeRangeOptions = "latest" | "24 hours" | "72 hours" | "7 days" | "30 days" | "60 days" | "All Time";
export declare type MarkAsReadUpdate = {
    user: string;
    daoInternalName: string;
    timestamp: string;
};
export declare type ChannelActivity = {
    messageCount: number;
    link: string;
    server: string;
    guildId: string;
    fromDate: string;
    channel: string;
    messages: {
        content: string;
        authorName: string;
        timestamp: string;
    }[];
    summary?: ChannelSummary;
};
export interface ChannelSummary {
    text: string;
    done: boolean;
    error: boolean;
    message?: string;
    executionId: string;
    summary: string;
}
export declare type DaoChannelsActivity = {
    dao: DAO;
    channelActivity: ChannelActivity[];
    totalMessageCount: number;
    latest?: string;
};
export interface FocusReadMessage {
    user: string;
    daoInternalName: string;
    timestamp: string;
    createdAt: string;
}
export declare type MemberActivity = {
    authorName: string;
    authorId: string;
    fromDate: string;
    totalMessages: number;
};
export declare type SearchItem = {
    authorName: string;
    channelName: string;
    guildName: string;
    guildId: string;
    channelLink: string;
    messageLink: string;
    content: string;
    timestamp: string;
};
export declare type SearchResult = {
    page: SearchItem[];
    totalCount: number;
    numOfPages: number;
};
export declare type SummaryCollection = "twitter-summary" | "channel-summary";
export declare type OpenAIOpts = {
    executionId: string;
    collection: SummaryCollection;
    temperature?: number;
    max_tokens?: number;
    top_p?: number;
    frequency_penalty?: number;
    presence_penalty?: number;
    prompt: string;
    handle?: string;
    text: string;
};
export declare type SummaryOpts = Required<Pick<OpenAIOpts, "frequency_penalty" | "presence_penalty" | "prompt" | "max_tokens" | "temperature" | "top_p">>;
export declare type SummaryStatus = "done" | "in-progress" | "error";
export interface SummaryCheck {
    executionId: string;
    status: SummaryStatus;
    message?: string;
    summary?: string;
}
