import type { CacheFrom, MessageData, ReturnCache } from '../..';
import { type MessageStructure } from '../../client/transformers';
import type { APIMessage } from '../../types';
import { GuildRelatedResource } from './default/guild-related';
export declare class Messages extends GuildRelatedResource<any, APIMessage> {
    namespace: string;
    filter(data: MessageData, id: string, channel_id: string, from: CacheFrom): boolean;
    parse(data: any, _key: string, _channel_id: string): any;
    get(id: string): ReturnCache<MessageStructure | undefined>;
    raw(id: string): ReturnCache<APIMessageResource | undefined>;
    bulk(ids: string[]): ReturnCache<MessageStructure[]>;
    bulkRaw(ids: string[]): ReturnCache<APIMessageResource[]>;
    values(channel: string): ReturnCache<MessageStructure[]>;
    valuesRaw(channel: string): ReturnCache<APIMessageResource[]>;
    keys(channel: string): string[];
}
export type APIMessageResource = Omit<APIMessage, 'author' | 'member'> & {
    user_id?: string;
};
